ConcurrentHashMap線程安全的,允許一邊更新、一邊遍歷,也就是說在對象遍歷的時候,也可以進行remove,put操作,且遍歷的數據會隨着remove,put操作產出變化,而如果用HashMap則會報線程安全問題。
以下例子分別使用HashMap、ConcurrentHashMap、HashTable在遍歷的同時刪除,
情況一、使用HashMap進行遍歷的同時刪除

HashMap不能一邊遍歷一邊更新,否則報異常ConcurrentModificationException

情況二、使用ConcurrentHashMap進行遍歷的同時刪除

而ConcurrentHashMap不存在該問題,輸出結果為0.
情況三、使用HashTable進行遍歷的同時刪除

如果用性能較低的安全容器HashTable,也報異常ConcurrentModificationException。
