JAva遍歴しながら削除する問題
1835 ワード
エンハンスサイクル反復の使用
/**
* ( users.remove() List ConcurrentModificationException)
*/
public static void list(){
List users = getUsers();
Iterator iterator = users.iterator();
while (iterator.hasNext()){
//
if (iterator.next().getId()>0 && iterator.next().getId()<3){
iterator.remove();
}
}
for (User user:users){
System.out.println(user.getName());
}
}
/**
*
*/
public static void set(){
Set users = getSetUsers();
Iterator iterator = users.iterator();
while (iterator.hasNext()){
//
if (iterator.next().getId()>0 && iterator.next().getId()<3){
iterator.remove();
}
}
for (User user:users){
System.out.println(user.getName());
}
}