JAVA基础--Collection各实现类的特点

Collection:单列集合

List:有序,元素可以重复

ArrayList:用数组实现,有序,查找快(按索引查找),增删慢(牵扯到数组的增容问题);

LinkedList:链表数据结构实现,有序,查找慢(查找时需要遍历),增删快;

Vector:原理跟ArrayList相同,只是他增加了线程安全,效率略低;

Set:无序,元素不可重复

HashSet:线程不安全,存取速度快,底层以哈希表实现;

TreeSet:红黑树的数据结构,默认对数据进行自然排序。比较两个对象返回的值为0的时候,元素重复;

Map:键值对,键不可重复,值可重复

HashMap:线程不安全(不支持同步),存取速度快,底层以哈希表实现,HashMap则允许有一个键值为null和多个value为null

TreeMap:红黑树的数据结构,默认对数据进行自然排序。比较两个对象返回的值为0的时候,元素重复;

HashTable:同步,不允许null做键值和value,结构如下图:

JAVA基础--Collection各实现类的特点

JAVA基础--Collection各实现类的特点