java集合之间的区别

 

 

java集合之间的区别_第1张图片

文字表格版:

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

 

 

你可能感兴趣的:(面试系列,Java基础)