Java

리스트 순환 중 아이템 삭제

OSC131 2019. 12. 8. 17:10
728x90
반응형

리스트 순환 중 아이템 삭제 예시

 

 

 

 

List list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        System.out.println(list); // [1, 2, 3, 4]

        
        //        for(Integer integer : list ){
        //            System.out.println(integer);
        //            if(integer==2){
        //                list.remove(integer);
        //            }
        //        }
        //  ConcurrentModificationException 발생 !! 


        Iterator it = list.iterator();
        while(it.hasNext()){
            Integer integer = it.next();
            if (integer == 3) {
                it.remove();
            }
        }
        System.out.println(list); // [1, 2, 4]

        // Java 8 이상
        list.removeIf(integer -> integer == 2);
        System.out.println(list); // [1,4]

 

 

 

728x90
반응형