文章目录
前言
进入本篇文章的之前,请先思考容器/集合是什么,其有什么使用需求,为什么有Java中有数组还需要引入容器这一概念。
一、容器|集合是什么?
集合:提供一种存储空间可变的存储模型, 存储的数据容量可以随时发生改变
二、为和需要引入集合
1.需求原因
Java有多种方式保存对象(应该是对象的引用),例如使用数组时保存一组对象中的最有效的方式,如果你想保存一组基本类型的数据,也推荐使用这种方式,但大家知道数组是具有固定尺寸的,你必须事先知道你要需要多少个对象。但是在一般的情况中,你在写程序中并不知道将需要多少个对象,或者是否需要更加复杂的方式来存储对象,因此需要引入集合这样的容量可变的存储模型!
2.集合的作用
提供了完善的方法来保存对象,可以使用这些工具来解决数量惊人的问题。Java容器类可以自动调整自己的尺寸,因此与数组不同,你可以将任意数量的对象放到容器中,并不担心容器设置为多大。
3.集合的特点
总的来说集合有一下三个特点:
1.用于存储对象的容器。
2.集合的长度是可变的。
3.集合中不可以存储基本数据类型值。
三、集合的大致体系
集合可以分为单列集合如(Collection集合)与双列集合(Map集合),接下来我们就根据这张体系结构图来理一理Java容器/集合的大致体系。每个类的具体使用请根据下面提供的链接去阅读。
1、单列集合
Collection 集合
想要了解更多请点击下面的链接链接: Collection.。
概述
1.Collection 集合是单列集合的顶层接口,表示一组对象(Collection的元素)。
2.Jkd不提供此接口的任何直接实现,他提供更具体的子接口(如 List (元素可重复的) / Set (元素不可重复的) ),可以通过子接口实现。
List 集合
想要了解更多请点击链接: List
概述
有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素。
特点
1.List是一个接口需要通过其实现类(ArrayList、LinkedList)来创建实例化对象
2.元素有序
3.通常允许重复的元素
实现类
包含实现类ArrayList()、LinkedList()。
Set 集合
想要了解更多请点击链接: Set
概述
1.有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素。
特点
1.元素无序
2.不允许重复
实现类
包含实现类HashSet()/LinkedHashSet/TreeSet。
2、双列集合
Map
想要了解更多请点击链接: Map
概述
一组成对的键值对对象,允许使用键来查找值,将数字和对象关联到一起。映射表允许我们使用另一个对象来查找某个对象,也被称为关联数组或字典。
特点
1.键值对映射关系
2.一个键对应一个值
3.键不能重复,值可以重复
4.元素存取无序
实现类
包含常用实现类HashMap、LinkedHashMap,TreeMap。