什么是集合❓
集合就是若干个确定的元素构成的整体;例如一个班里所有同学构成一个集合;一个学校所有的老师构成一个集合;一个球队所有的队员构成一个集合。而在计算机中引入集合的概念,就是为了处理一组类似的数据
很显然,Java中的数组可以看作一种集合。既然Java提供了数组这样的数据类型可以充当集合,为什么我们还需要其他的集合类呢?这是因为数组有如下限制:
- 数组初始化后大小不可变
- 数组只能按索引取顺序存取
因此,我们需要各种不同类型的集合类来处理不同使用场景的数据,例如: - 可变大小的顺序链表
- 保证无重复元素的集合
一、Collection 接口
Java集合类的整体框架图 知足常乐👴
1.1数组与集合的区别
既然我们要抛弃数组奔向集合了,那我们要先了解一下这两到底有什么区别吧:
-
容量的区别
数组的长度是固定的(可以扩容,但是扩容过程中的数组拷贝影响性能)
集合长度可以动态的改变 -
内容不容
数组存储的是同一种类型的元素
集合存储不同类型的元素(但是开发过程中并不这么干...) -
元素的数据类型
数组可以存储基本数据类型,也可以存储对象引用
集合只能存储引用类型(你存储的是简单的int,他也会自动装箱成Integer)
1.2Collection的体系结构
既然用上集合了,那我们开始疯狂造各种不同使用场景的集合类吧,有允许存放重复元素的,又不允许存放重复元素的...
了解Collection 的基础功能
Collection 接口中的方法
1.3了解Iterable接口
打开Colletion接口的源码,我们发现Collection继承自Iterable接口,我们先花四五分钟了解一下Iterable接口是个什么东西?
好吧,四五分钟好像只能了解他是各个集合类中用来迭代集合中存储的数据用的,是为了方便用户直接用for each来遍历集合内部的数据。先记住这个吧。之后再详细了解Iterable
Java中的Iterable和Iterator接口
Java中的Iterable和Iterator接口详解
二、List 集合
2.1 先了解List集合有什么特点: 有序(存储顺序和去除顺序一致)、可重复
2.2 List集合常用的实现方式
- ArrayList()
- LinkedList()
- Vector()
三、Set 集合
3.1 先了解Set集合有什么特点:无序、不可重复
3.2 Set集合常用的实现类有:
- HashSet
- TreeSet
参考资料
网友评论