JAVA基础--Collection各实现类的特点
Collection:单列集合
List:有序,元素可以重复
ArrayList:用数组实现,有序,查找快(按索引查找),增删慢(牵扯到数组的增容问题);
LinkedList:链表数据结构实现,有序,查找慢(查找时需要遍历),增删快;
Vector:原理跟ArrayList相同,只是他增加了线程安全,效率略低;
Set:无序,元素不可重复
HashSet:线程不安全,存取速度快,底层以哈希表实现;
TreeSet:红黑树的数据结构,默认对数据进行自然排序。比较两个对象返回的值为0的时候,元素重复;
Map:键值对,键不可重复,值可重复
HashMap:线程不安全(不支持同步),存取速度快,底层以哈希表实现,HashMap则允许有一个键值为null和多个value为null
TreeMap:红黑树的数据结构,默认对数据进行自然排序。比较两个对象返回的值为0的时候,元素重复;
HashTable:同步,不允许null做键值和value,结构如下图: