Java中HashMap和ConcurrentHashMap之间的区别
以下是Java中HashMap和ConcurrentHashMap类之间的显着差异。
示例
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public class Tester {
public static void main(String[] args) {
List<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
Iterator<String> iterator = arrayList.iterator();
System.out.println(arrayList);
while (iterator.hasNext()) {
if (iterator.next().equals("C")) {
//允许删除。
iterator.remove();
}
}
System.out.println(arrayList);
List<String> copyOnWriteArrayList = new CopyOnWriteArrayList<>();
copyOnWriteArrayList.add("A");
copyOnWriteArrayList.add("B");
copyOnWriteArrayList.add("C");
Iterator<String> iterator1 = copyOnWriteArrayList.iterator();
System.out.println(copyOnWriteArrayList);
while (iterator1.hasNext()) {
if (iterator1.next().equals("C")) {
try{
iterator1.remove();
}catch(UnsupportedOperationException e){
System.out.println("不允许移除。");
}
}
}
System.out.println(copyOnWriteArrayList);
}
}输出结果
[A, B, C] [A, B] [A, B, C] 不允许移除。 [A, B, C]