Java里常见的集合有什么特点
java 中的集合分为,单列集合Collection,双列集合Map。
Collection 分为:List 、 Set
List有序可重复 分为ArrayList、Vector、LinkedList:
ArrayList:底层实现是数组,查询快,增删慢,线程不安全,效率高,每次扩容为当前容量的1.5倍+1;
Vector:底层实现是数组,查询快,增删慢,线程安全,效率低,
、=扩容机制为翻倍;
LinkedList:底层实现是双向链表,增删快,查询慢,线程不安全,效率高;
Set
HashSet:无序不可重复,底层使用Hash表实现,存取速度快。
LinkedHashSet:采用hash表存储,使用双向链表记录插入顺序
Map分为:HashMap、HashTable
HashMap:key重复则覆盖原有的value,底层使用数组+链表实现,jdk1.8以后加入了红黑树,线程不安全,key和value都允许为null
HashTable:key重复则覆盖原有的value,底层使用数组+链表实现,jdk1.8以后加入了红黑树,线程安全,key和value都不允许为null