java之集合(List Set Map等)特点简述

Java之常用集合特点简述

1 Collection 单列集合

1.1 List (有序可重复)

ArrayList:底层数组,查询快、增删慢,线程不安全,效率高,有索引,可重复

Vector :是老版本的 ArrayList ,唯一区别就是Vector是线程安全的

LinkedList:底层链表(双端队列),查询慢、增删快,具备链表的特点

1.2 Set 接口(无序唯一)

HashSet:基于哈希表结构,无序唯一

​ a.存储无序,因为对象的hashCode 值和哈希表存储的索引有关,hashCode是相对随机,所以无序;

​ b.唯一,去重复 依赖于 hashCode 和equals 方法;

​ c.可以存储 null ,但是 null 不能重复。

TreeSet:基于二叉树结构,元素唯一,可排序可比较

​ a.去重复,依赖于二叉树的存储特点;

​ b.排序依赖于二叉树的取特点;

​ c.有自然排序和比较器排序。

LinkedHashSet:基于链表和哈希表,有序唯一

​ a.有序,链表保证有序;

​ b.唯一,哈希表保证唯一。

2 Map 双列集合

2.1 HashMap:无序、键唯一,线程不同步,非安全

2.2 LinkedHashMap:有序,线程不同步,非安全

2.3 HashTable:无序,线程同步,安全

2.4 TreeMap:有序,线程不同步,非安全

发布了22 篇原创文章 · 获赞 22 · 访问量 771

猜你喜欢

转载自blog.csdn.net/weixin_45568892/article/details/105176762