关于Java集合框架的解析。
提莫的探索之旅。
大家好,今日我们将深入探讨Java中的集合框架。
1. 本次内容,我们将聚焦于Java集系。
2. 让我们先来看一张图,这里我列举了部分Java集系中常用的接口和类。最顶级的接口名为Collection,它是整个集合框架的基石。
3. 那么,什么是集合呢?简单来说,集合就是一组元素的,比如一堆苹果、一堆房子等。这些元素都是同类的,且数量众多,我们称之为集合。在集合框架中,它被细分为List和Set两大类。
4. 这两大类有何区别呢?List中存储的是有序且可重复的元素。例如,"abcda",这里字母a出现了两次,如果使用List存储,它可以保存两个a,并且存储和取出的顺序是一致的。而Set中存储的元素则是不可重复的,它会自动去除重复的元素,并且存储和取出的顺序可能并不一致。也就是说,集合框架下的这两个体系,一个是有序可重复,另一个是无序不可重复。
需要注意的是,这两个体系都是接口,不能直接使用。我们会使用它们的实现类。这里主要涉及三个实现类。
6. 再来说说Set的实现类——HashSet。从其名称就可以看出,它是通过Hash结构来实现的。那么什么是Hash呢?在这里,Hash表也被称为散列表。它通过Hash算法将进入的元素计算出一个位置,然后存放在对应的位置。简单来说,比如有一个Hash表,每个元素进来时都会通过Hash算法计算出一个位置,然后存放在那里。由于Hash算法的特性,存放的顺序并不一定是固定的,所以取出的顺序可能与存放的顺序不同。