集合
2021-06-27 10:26:21 0 举报
java集合
作者其他创作
大纲/内容
LinkedList
总结:当在日常开发中如果涉及到需要保证有序,应该考虑使用TreeSet;如果需要去重,应该考虑使用Set下的两个。如果这两个都不需要考虑,那么使用List相关的即可。
Iterable
特点:1、底层二叉树2、输入和输出不一致,输出能够按照一定顺序排序。(这个实现了SortedSet接口,是有序的)3、线程不安全4、不包含重复元素,即去重5、不可以放null。
NavigableMap
特点:1、底层结构:红黑树2、key不能为空,value可以为空null3、非线程安全4、可以重复,会进行覆盖,会以后者为准。5、输入和输出顺序不一致,输出结果会按照一定规则进行排序。
特点:1、底层:数组 + 链表/红黑树2、key 可以为null,value 可以为null;3、非线程安全4、key 重复,会进行覆盖。会以后者为准。5、输入和输出顺序不一致,输出结果会按照一定规则进行排序。
Vector
SortedMap
ConcurrentMap
特点:1、底层:数组+链表/红黑树2、key 不可以为空,value也不可以为空。3、线程安全。4、key 重复,会进行覆盖。会以后者为准。5、输入和输出顺序不一致,输出结果会按照一定规则进行排序。
LinkedHashMap
AbstractMap
TreeMap
HashTable
特点:1、底层使用双向链表存储2、输出和放入顺序一致,直接在链表中追加,不能按照一定顺序排序。3、线程不安全4、查询慢,插入和删除快。因为:当插入一个数据时,只需要告诉上一个,和下一个就可以,删除也是一样,但是查询的时候需要从头访问。5、可以包含重复元素
AbstractCollection
Dictionary
LinkedHashSet
ConcurrentHashMap,HashMap区别: 1、线程安全方面,HashMap不安全font color=\"#ff0000\
共有
Deque
ArrayList
类
特点:1、底层使用数组存储。2、输出和放入顺序一致,直接在数组后插入,不能按照一定顺序排序。3、线程不安全。4、查询比插入,删除快,因为插入,删除需要删除指定元素,然后查询到,之后删除,再然后再进行移动;但是查询的时候,值需要根据下标即可。查询的时间复杂度O(1)。5、可以包含重复元素
List
SortedSet
HashMap
Queue
NavigableSet
特点:1、底层使用hash表2、输入和输出不一致,输出能够按照一定顺序排序。3、线程不安全4、不包含重复元素,即去重5、可以放null。
Collection
ArrayList,LinkedList相同点:1、线程不安全。2、无序(不能按照某种规则排序),输入和输出顺序一致。3、可以包含重复元素。ArrayList,LinkedList不同点:1、ArrayList 查询快,插入,删除慢。2、LinkedList 查询慢,插入,删除快。
TreeSet
HashSet
Map
接口
AbstractSet
AbstractList
AbstractSequentialList
RandomAccess
ConcurrentHashMap
公用
Set
0 条评论
下一页