java常见集合类区别

时间:2021-09-29 16:58:52

hashmap: 线程不安全,key可以为null,不可多线程,效率高

hashtable:线程安全,key不可以为null,内部的方法基本都经过synchronized修饰,效率低下

ConCurrentHashMap:,在hashtable的基础上进行分割,锁住分割的一部分而不是整个map,线程安全,key不能为null,效率相对hashtable较高。

hashmap可用Collections.synchronizedMap将其包装为安全线程。

 

linklist:链表存储,有序,可以重复,查询速度慢、增删快。线程不安全,可以放入null

arraylist:数组结构存储,有序,可以重复,查询快,增删慢。线程不安全,可以放入null

vector:与arraylist用法一样,有序,可以重复,线程安全,效率低下,可以放入null

hashset:无序,不可重复,线程不安全,不可插入null

linkhashset:有序,不可重复,线程不安全,不可插入null

treeset:有序,不可重复,