Java基础学习01--初识集合

记录一下自己在蓝桥云课里的学习过程,每天进步一点点

目录

一、为什么要用集合?

二、有那些集合?

1.collection家族:

2.Map家族:


一、为什么要用集合?

之前用数组可以存储多个数据类型相同的元素,但面对频繁增加、删除、修改元素的要求以及动态扩容要求时显得捉襟见肘。

1.Java 语言中的数组长度是固定的,如果数组长度设置小了,不能满足程序需求,并且容易造成数组越界等异常的发生;如果数组长度设置大了,又会造成空间浪费。

2.无法通过数组对象直接的获取真实对象的数量。因为数组提供的 length 属性是获取数组的长度,而不是数组中实际存放有用信息的个数。

3.数组元素在内存空间中是连续存放的,这样如果在数组中删除一个元素,为了保持数组内数据元素的连续性,被删除之后的数组元素全部要前移一位,但这种元素的移动是比较消耗系统资源

为此,JDK 提供了一套“集合”框架,这套框架是对常见数据结构的实现,不仅可存储数据,还提供了丰富的访问和处理数据的操作

二、有那些集合?

Java 集合框架支持两种类型的容器:一种是为了存储一个元素集合,简称为集合(collection);另一种是为了存储键/值对,称为映射(map,或称图)

1.collection家族:

Collection 接口主要有三个子接口,分别是 Set 接口、List 接口和 Queue 接口,下面简要介绍这三个接口。

  • Set 接口

    Set 实例用于存储一组不重复的元素。

  • List 接口

    List 实例是一个有序集合。程序员可对 List 中每个元素的位置进行精确控制,可以根据索引来访问元素,此外 List 中的元素是可以重复的。

  • Queue 接口

    Queue 中的元素遵循先进先出的规则,是对数据结构“队列”的实现。

Java基础学习01--初识集合_第1张图片

2.Map家族:

Map 接口和 Collection 接口的本质区别在于,Collection 接口里存放的是一系列单值对象,而 Map 接口里存放的是一系列key-value 对对象。Map 中的 key 不能重复,每个 key 最多只能映射到一个值,HashMap 和 Hashtable 是 Map 接口的实现类。

Java基础学习01--初识集合_第2张图片

 

你可能感兴趣的:(Java基础学习,java)