Java中HashMap,HashSet是线程安全的吗,ArrayList是线程不安全的那如何避免其出异常?

2025-05-04 02:18:26
推荐回答(2个)
回答1:

HashMap,HashSet,ArrayList都不具备线程安全。

可以用

Set s=Collections.synchronizedSet(new Hashset<...>());
Map m=Collections.synchronizedMap(new HashMap<...>());
List l=Collections.synchronizedList(new ArrayList<...>());

获得被同步后的版本。


也可以用ConcurrentHashMap等同步工具代替

回答2:

HashSet不是线程安全的,HashTable是线程安全的。如果数据量很大,又要线程安全,建议使用Vector