Mapの要素を正しくパス削除
1962 ワード
Mapを巡る過程でmapは使えない.remove(key)を使用して要素を削除すると、反復器のremove()を使用することができる同時修正異常が発生します.反復器が指すcollectionから現在の反復要素を除去し、アクセス中の要素を削除する目的を達成します.
出力結果:
package com.cx.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Main {
public static void main(String[] args) {
fun();
}
private static void fun() {
Map map = new HashMap<>();
map.put(1, " ");
map.put(2, " ");
System.out.println(" :" + map);
Iterator> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry next = iterator.next();
if (next.getKey() == 1) {
iterator.remove();
}
}
System.out.println(" :" + map);
}
}
出力結果:
:{1= , 2= }
:{2= }