728x90
아래와 같이 코드를 작성하고 리스트 원소를 삭제하기 위해 removeIf
를 수행하면
List<String> strList = Arrays.asList(new String[] {"A","B","C","D","E"});
strList.removeIf(data -> data.equals("A"));
java.lang.UnsupportedOperationException: remove
이런 에러를 만나게 된다
찾아보니 Arrays.asList
로 생성한 리스트는 고정되어 있어 원소를 제거할 수 없다고 한다
그래서 아래와 같이 new ArrayList<>()
로 Arrays.asList
코드를 감싸서 리스트를 생성해야 리스트 원소를 삭제할 수 있다
List<String> strList = new ArrayList<>(Arrays.asList(new String[] {"A","B","C","D","E"}));
strList.removeIf(data -> data.equals("A"));
728x90
댓글