java集合之间的区别

 

 

文字表格版:

集合名称接口实现底层数据结构可重复?有序?如何保证元素唯一?优点缺点线程安全
集合体系collectionsetTreeSet(也实现了sortedSet)红黑树即二叉树唯一,有序1. 保证元素排序:
自然排序
比较器排序
2.保证元素唯一性:
根据比较的返回值是否是0来决定
   
HashSet哈希表唯一,无序依赖两个方法:hashCode()和equals()   
LinkedHashSet链表和哈希表唯一,有序(FIFO即有序的集合(先进先出))1.由链表保证元素有序
2.由哈希表保证元素唯一
   
listArrayList数组重复,有序 查询快,效率高增删慢不安全
Vector数组重复,有序 查询快增删慢,效率低安全
LinkedList链表重复,有序 增删快,效率高查询慢不安全
Queue
MapHashMap哈希表(数组+链表+红黑树)key值唯一,无序 支持null,取值速度快 不安全
HashTable哈希表无序  不支持null,速度慢安全
CurrentHashMap哈希表(数组+链表+红黑树)    安全
TreeMap红黑树有序  取值速度慢 

 

 


版权声明:本文为qq_36095679原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。