Java集合框架的学习总结
首先了解一下Java的集合框架,是为表示和操作集合而规定的一种统一的标准体系结构。主要是提供功能的复用,让我们能专注于业务开发。
一、常见的集合类
List(集) | 集合中的对象按照索引位置排序,允许元素重复 |
Set(集) | 集合中的对象不按照特定的方式排序,不允许元素重复 |
Map(集) | 集合中每一个元素都包含一对key和value对象,不允许key对象重复,允许value值重复 |
二、集合框架图
我们可以把图以“常见的集合类”来捋一捋:
一)List(集)
1)ArrayList:List 接口的大小可变数组的实现。
2)LinkedList:List 接口的链接列表实现。
-----------------------------------------------------
二)Set(集)
1)HashSet:此类实现 Set 接口,由哈希表支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。
(1)LinkedHashSet:HashSet的子类,具有哈希表和链表两种数据结构,可以记录添加顺序。
2)TreeSet:底层采用红黑树算法,会对储存的元素默认使用自然排序,也可以通过Comparator来进行定制排序。
-----------------------------------------------------
三)Map(集)
1)HashMap:基于哈希表的 Map 接口的实现。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
(1)LinkedHashMap:HashMap的子类,Map接口的哈希表和链接列表实现,可以记录key的添加顺序。
2)TreeMap:底层采用红黑树算法,会对储存的key默认使用自然排序,也可以通过Comparator来进行定制排序。
PS:
Map接口并没有继承Colletion接口,因为它是两个集合之间的映射关系,但由于它可以存储数据(每次储存都应该在两个集合中各储存一个元素),所以习惯上会称之为集合。
在Map集合中,key所在的集合不允许元素重复,而value所在的集合允许元素重复,此时可以把Map理解为函数,函数中x是唯一的,每个x都对应一个y值。