JavaSE——集合、集合继承结构图
目录
一、集合概述
1.1 集合我们常常会使用在什么地方?
1.2 集合底层数据结构
1.3 集合的分类
1.4 Collection集合的继承结构(重要)
1.4.1 List接口继承图
1.4.2 Set接口继承图
1.4.3 Collection集合继承结构图总结
1.5 Map集合继承图
1.6 总结
一、集合概述
- 数组其实就是一个集合,集合实际上就是一个容器,可以来容纳其他类型的数据;
- 集合是一个容器,是一个载体,可以一次性容纳多个对象;
- 集合不能直接存储基本数据类型,另外集合也不能直接存储java对象;
- 集合中存储的都是java对象的内存地址(或者说集合中存储的是音容);
- 集合是一个对象,也有一个内存地址
- 集合在java.util.*包下
我们使用list.add(100)的时候,添加的并不是int类型,而是Integer类型,自动装箱了
1.1 集合我们常常会使用在什么地方?
比如我们连接数据库的时候,我们需要从数据库查询几百条的数据,此时我们就可以使用集合来进行接收者几百条的数据(这几百条的数据会被封装成java对象),然后统一返回到前端的页面,然后就会将数据展现出来
1.2 集合底层数据结构
在java中每一个一个不同的集合,底层会对应不同的数据结构,往不同的集合中存储元素,等于将数据存放到了不同的数据结构中。
不同的数据结构,数据的存储方式不同,例如:数组。二叉树、链表、图.....都是常见的数据结构
使用不用的集合,等同于使用了不同的数据结构
1.3 集合的分类
在java中集合分为两大类:
- 单个方式存储元素
超级父接口:java.util.Collection
- 键值对的方式存储元素
超级父接口:java.util.Map
1.4 Collection集合的继承结构(重要)
1.4.1 List接口继承图
1.4.2 Set接口继承图
我们可以从下图得知,当我们使用HashSet集合添加元素的时候,其实底层是调用的map集合进行的,这就印证了我们上面说的向HashSet集合中存储元素,实际上是存储到HashMap集合中了
1.4.3 Collection集合继承结构图总结
以后的开发我们常用的是下面的几种,但是不局限于这几种
SortedSet集合存储元素的特点:
由于继承了Set集合,所以他的特点也是无序不可重复的
但是放在SortedSet集合中的元素可以自动排序(可排序集合,自动按照大小顺序排序)
有序:存进去的东西和取出来的东西不乱,怎么存的就怎么取出来
无序刚好相反,一定要理解好有序和无序的概念,否则会和自动排序混淆
1.5 Map集合继承图
- Map集合与Collection集合没有关系,单独的一个继承体系
- 以key、value这种键值对的方式存储元素
- key和value都是存储java对象的内存地址
- 所有Map集合的key特点:无序不可重复 (和Set集合存储元素特点相同)
- Map集合的key,就是一个Set集合
- 向HashSet集合中存储元素,实际上是存储到HashMap集合中了
- 向TreeSet集合中存储元素,实际上是存储到TreeMap集合中了
1.6 总结
List集合存储元素特点:
- 有序可重复
- 有序:存进去的顺序和取出来的顺序相同,每一个元素都有下标
- 可重复:存进去1,可以再存储一个1
Set(Map)集合存储元素的特点:
- 无序不可重复
- 无序:存进去的顺序和取出来的顺序不一定相同,Set集合中每一个元素都没有下标
- 不可重复:存进去1,就不能再存储1了
SortedSet(SortedMap)集合存储元素的特点:
- 无序不可重复
- 无序:存进去的顺序和取出来的顺序不一定相同,Set集合中每一个元素都没有下标
- 不可重复:存进去1,就不能再存储1了
- 可排序:可以按照大小排序
Map集合的key,就是一个Set集合:
往Set集合中存放数据,实际上存放到了Map集合的key部分了