개발공부/개발TIP
Java - List<> for loop 이용하여 객체 삭제 시 주의할점
람람람2
2020. 1. 21. 22:37
반응형
객체의 리스트 형태에서 조건에 맞는 객체를 삭제 하고 싶을때 for loop를 돌려서 삭제하는 경우가 있다.
아래의 코드는 오류가 나니 항상 주의해서 사용하여야 한다.
잘못된예 >> List<String> names = .... for (String name : names) { names.remove(name); } |
객체를 꺼내서 사용하는 대신 iterator 를 이용하여야 오류를 막을 수 있다.
List<String> names = .... Iterator<String> i = names.iterator(); while (i.hasNext()) { String s = i.next(); i.remove(); } |
해당 개념과 관련하여 업무상 실수를 한적이 있어 기록해둔다.
출처 : https://stackoverflow.com/questions/1196586/calling-remove-in-foreach-loop-in-java
반응형