Android中的HashMap
和TreeMap
都是非线程安全的,而Hashtable
是线程安全的。如果你在多线程环境中使用这些集合,可能会遇到并发问题。为了确保线程安全,你可以采取以下措施:
- 使用
Collections.synchronizedMap()
方法将集合包装为线程安全的映射。例如:
MapsynchronizedMap = Collections.synchronizedMap(new HashMap ());
- 使用
ConcurrentHashMap
,它是一个线程安全的哈希表实现,适用于多线程环境。例如:
MapconcurrentMap = new ConcurrentHashMap ();
- 如果你只需要对键进行排序,可以使用
TreeMap
。但请注意,TreeMap
不是线程安全的,所以你需要采取适当的同步措施。
总之,Android中的HashMap
和TreeMap
本身不是安全的,但可以通过使用线程安全的方法或替代实现来确保安全性。