集合

单向链表:

1.为什么单向链表查询效率较低?
   单向链表中的每个元素在空间的存储位置上没有规律
,也没有顺序,那么在查找某个元素的时候必须从头节点
唉着往后找,直到找到为止。
 
2.为什么单向链表的增删效率较高?
   因为链表每个元素存储的空间是没有顺序的,
删除或者添加某个元素,只需要让指针重新指向即可。
不需要将其他元素位移。所以随机增删效率较高。
 

List是一个有序集合,可以放重复的数据
Set是一个集合,不允许放重复的数据。
Map是一个无序集合,集合中包含一个键对象,一个值地下,键对象不允许重复

List存储元素的特点:有序可重复。
有序:存进去什么顺序,取出来的时候还是什么顺序取出。

Set存储元素的特点:无序不可重复。存进去的时候是这样一个顺序,取出来的时候就不一定是这个顺序取出了。

存储元素的特点:无序不可重复的。但是存储进去的元素可以按照元素的大小自动排序。

ArrayList底层采用的是数组存储元素
的,所以ArrayList集合适合查询,不适合
频繁的随机增删元素。

LinkdList底层采用双向链表这种数据结构存储数据的。
链表适合频繁的增删元素,不适合查询操作。


Vector底层和ArrayList集合相同,但是Vector
是线程安全的。效率较低,。所以现在很少使用。

HashSet哈希表/散列表。


Collection:只能存储应用类型,并且是单个存储

Map<key,Value>:map集合以键值对的方式存储
元素,键特点是:无序不可重复的。


HashMap:哈希表/列表,HashMap中的key
符同于一个Set集合。

Hashtable:线程安全的,效率低


Properties:属性类,也是以key和value的方式存储元素
,但是key和value只能是字符串类型。


SortedMap中的key存储元素的特点:无序不可重复,但是可以按照元素的大小顺序自动排序。SortedMap中的key
等同于SortedMap中的key等同于SortedSet。

TreeMap:的key就是一个TreeSet

 
 
原文地址:https://www.cnblogs.com/BruningHUA/p/6268068.html