1.集合框架的概述
1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。
说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储。
1.1、集合体系
集合一共分为两部分:
Collection(单列集合)每个元素(数据)只包含一个值。
Map(双列集合)每个元素包含两个值(键值对)。
1.2、什么是集合
集合是一个容器,是一个载体,可以一次容纳多个对象。在实际开发中,假设连接数据库,数据库当中有10条记录,那么假设把这10条数据查询出来,在java程序中会将10条数据封装成10个java对象(new出来的对象),然后将10个对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来。
什么是单列集合?
单例集合:每次以单个对象的形式将数据存放到集合中。
什么是双列集合?
双列集合:每次以两个对象为一组的形式将数据存放到集合中,用来存储键值对对象,其中键具有唯一性,而值是可以重复的。
集合分类示意图
List接口及其实现类
List特点
list集合是有序集合:数据的添加和存储次序一致
list集合可以存储重复的数据
list集合中的数据可以通过下标访问
Set接口特点
Set特点
Set接口是无序的
Set接口中的数据不允许重复
Set接口无法通过下标访问数据
查找慢,插入删除快(底层数据结构是哈希表和红黑树)
Set集合使用equals()和hashCode()方法实现元素去重
泛型
泛型:对要管理的数据进行类型限定,方便数据的处理。
为什么实用泛型:
在往集合中存储数据的时候缺乏类型检查,不安全
泛型:类型检查机制;
好处:省略了装箱和拆箱,效率高;类型安全。
集合使用总结:
1) 需要数据唯一时,使用Set集合
需要保持规则顺序,此时用TreeSet
不需要指定顺序,此时用HashSet
需要保证代码添加数据的次序,此时用LinkedHashSet
2) 不需要唯一时,使用List集合
需要频繁增删操作时,使用LinkedList
不需要频繁增删操作,需要做大量查询操作时,使用ArrayList