为什么要使用集合和Java集合概述
主讲人:王少华 QQ群号:483773664
学习目标
1 理解为什么使用集合
2 掌握Java集合框架
一、使用数组缺陷:
在电子宠物系统中,如果想存储多个宠物信息,可以使用数组来实现。例如,可以定义一个长度50的Dog类型的数组,存储多个Dog对象的信息。但是采用数组存在以下一些明显的缺陷:
- 数组长度固定不变,不能很好适应元素数量动态变化的情况。若要存储大于50个狗狗的信息,则数组长度不足;若只存储20个狗狗的信息,则造成内存空间浪费
- 可通过数组名.length获取数组长度,却无法直接获取数组中真实存储的狗狗个数。
- 数组采用在内在中分配连续空间的存储方式,根据下标可以快速获取对应的狗狗的信息。但根据狗狗的信息查找时效率低下,需要多次比较。
一一比较
二分法查找
二、数组不能完成的需求
在存储狗狗信息时,希望分别存储狗狗的呢称与狗狗的信息,两者存在一一对应的关系。如下图所示
数组肯定完成不了这种需求
三、Java集合概述
(一)什么是Java集合
- 为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供集合类。
- 集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类
- 所有集合类都位于java.util包下
(二)Java集合框架
- Java的集合类主要由两个接口派生而出:Collection和Map.
- Collection接口、子接口及其实现类的继承树
Set和List接口是Collection接口派生的两个子接口,它们分别代表了无序集合和有序集合;
Queue是Java提供的队列的实现。
- Map体系的继承树
Map保存的每项数据都是key-value对,也就是由key和value两个值组成。
Map里的key是不可重复的,key用于标识集合的每项数据,如果需要查阅Map中数据时,总是根据Map的key来获取
比如要保存一个人的信息(包括身份证号码和姓名)
(三)总结
Java集合可以分为三大类
Set:类似一个大罐子,元素的特点:无序、不可重复。最常用的实现类:HashSet
List:像一个数组,只是List的长度可变,元素特点:有序、可重复。最常用的实现类ArrayList
Map:像一个罐子,元素特点:有两个值组成。最常用的实现类:HashMap
时间: 2024-10-18 19:11:49