Java集合系列:

Java—Collection、Iterable、Iterator的区别

Java—Set集合(HashSet、TreeSet)

Java—List接口(ArrayList)

Java—ArrayList(扩容机制)

​​​​​​Java—Map(HashMap、TreeMap)

 思维导图


什么是集合?

数组就是一个集合。集合实际上就是一个容器,可以用来容纳其他类型的数据

集合中存储的是什么?

集合中不能直接存储基本数据类型,另外飞机和也不能直接存储java对象,集合当中存储的都是java对象的内存地址。(或者说集合中存储的是引用)

list.add(1000); //自动装箱Integer

注意:

集合在java中本身是一个容器,是一个对象

集合中任何时候存储的都是“引用”

为什么要用集合?

当我们存一个值得时候,需要定义一个变量用来存储。如果要存成百上千个值得话,就需要定义成百上千个变量,这样很麻烦,想着能不能用一个变量就能同时把这成百上千个值存储起来呢?于是出现了数组

数组存储相同类型的值并且固定大小、顺序存储。如果创建时设置的数组长度过大,易造成内存空间浪费,如果数组长度过小,易造成溢出,而且无法在两个元素之间添加元素。想能不能有一种方式可以动态扩大数组的长度呢?而且数组无法保存具有映射关系的数据(唐三-男,小舞-女,戴沐白-男)。为了保存数量不确定的的数据,还有具有映射关系的数据,于是出现了集合

使用不同的集合可以动态的添加删除数据

除了上面我提到的场景,那集合还有哪些优点呢?

集合的优点有哪些?

  1. 提供了丰富的集合类和接口,满足不同的需求。

  2. 提供了高性能的集合实现,如ArrayList和HashMap。

  3. 提供了线程安全的集合实现,如Vector和ConcurrentHashMap。

  4. 支持泛型,可以在编译时进行类型检查,提高代码的可读性和安全性。

集合有哪些特点?

不同集合底层对应不同数据结构。

集合在java JDK中哪个包下?

java.util.*;

集合分为了哪几类?

  • 单个方式存储元素:

java.util.Collection;

  • 以键值对方式存储元素:

java.u til.Map;

Java集合框架的主要接口和类有哪些?

  1. Collection接口:是所有集合类的基本接口,定义了集合的基本操作,如添加、删除、遍历等。常见的实现类有List、Set等。
  2. List接口:继承自Collection接口,表示有序的集合,可以包含重复的元素。常见的实现类有ArrayList、LinkedList、Vector等。
  3. Set接口:继承自Collection接口,表示不允许重复元素的集合。常见的实现类有HashSet、TreeSet等。
  4. Map接口:表示键值对的集合,每个键对应一个值,键是唯一的。常见的实现类有HashMap、TreeMap、LinkedHashMap等。

在实际生产中如何选择集合?

Set:数据对象没有顺序且不可以重复(两个对象之间互相equals)

List:数据对象有顺序且可以重复

Map:键值对

注:集合中不能中直接存储基本数据类型,也不能存Java对象,只是存储Java对象的内存地址。

包含了哪些类型的集合?

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐