java学习笔记------集合类详解(Collection、Array、List、Set、Map)

集合类详解

总体结构视图
java学习笔记------集合类详解(Collection、Array、List、Set、Map)
1:Collection(接口):
Collection 接口是在整个 Java 类集中保存单值的最大操作父接口,里面每次操作的时候都只能保存一个对象的数据。
此接口使用了泛型技术,在 JDK 1.5 之后为了使类集操作的更加安全,所以引入了泛型。

2:Iterable(接口):
所有集合继承Iterable的含义是:所有集合都是可迭代的,可遍历的

3:Iterator(接口):
集合的迭代器对象

4:List(接口):
此集合存储元素的特点:有序可重复,存储的元素都有下标,从0开始,以1递增。这里说的有序是存进去是什么顺序,取出来就还是什么顺序,而不是按照大小排序。

5:Set(接口):
此集合存储元素特点:无序不可重复。无序表示存进去是这个顺序,取出来就不一定是这个顺序了,Set集合中元素没有下标

6:ArrayList:
此集合底层采用了数组的数据结构,是线程不安全的。

7:LinkedList:
此集合底层采用了双向链表的数据结构。

8:Vector:
此集合底层采用了数组的数据结构,是线程安全的,Vector所有的方法都有synchronized关键字修饰,所以线程安全,但是效率较低,开发中使用较少

9:HashSet:
在HashSet集合在new的时候,底层实际上new了一个HashMap集合,向HashSet集合中存储元素,实际上是存储到HashMap中了(哈希表的数据结构)。

10:SortedSet(接口):
此集合存储元素的特点:由于继承了Set集合,所以它也是无序不可重复,但是放在SortedSet集合中的元素可以自动排序,排序按照大小顺序排序。

11:TreeSet:
此集合底层实际上是TreeMap,采用了二叉树的数据结构。

12:Map(接口):

(1). Map集合和Collection集合没有关系
(2). Map集合以key和value的这种键值对的方式存储元素;
(3). key和value都是存储java对象的内存地址
(4). 所有的Map集合的key特点:无序不可重复

13:HashMap:
此集合底层是哈希表的数据结构,是线程不安全的。

14:Hashtable:
此集合底层也是哈希表的数据结构,是线程安全的,因为其中所有的方法都带有synchronized关键字,效率较低,使用较少

15:Properties:
此集合是线程安全的,以为继承Hashtable,另外此集合存储元素的时候也是采用key和value的形式,并且key和value只支持String类型,不支持其它类型。

16:SortedMap(接口):
此集合存储元素的特点:无序不可重复,另外放在SortedMap集合key部分的元素会自动按照大小顺序排序

17:TreeMap:
此集合底层的数据结构是一个二叉树