在前篇博文中(Java 提高篇(二三)—–HashMap)详细讲解了 HashMap 的实现过程,对于 HashSet 而言,它是基于 HashMap 来实现的,底层采用 HashMap 来保存元素。所以如果对 HashMap 比较熟悉,那么 HashSet是 so easy!!一、定义 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.
实现Set接口的HashSet、LinkedHashSet、TreeSet类比较。Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。
HashMap 和 HashSet 都是 collection 框架的一部分,它们让我们能够使用对象的集合。collection 框架有自己的接口和实现,主要分为 Set 接口,List 接口和 Queue 接口。它们有各自的特点,Set 的集合里不允许对象有重复的值,List 允许有重复,它对集合中的对象进行索引,Queue 的工作原理是 FCFS 算法(First Come, First Serve)。
HashSet 概述对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的。我们先通过 HashSet 最简单的构造函数和几个成员变量来看一下,证明咱们上边说的,其底层是 HashMap: private transient HashMap<E,Object> map;
示例代码实例化了一个HashSet对象,然后通过HashSet的add方法添加String对象,最后通过Iterator迭代器遍历HashSet集合。
HashSet、LinkedHashSet、TreeSet类存储元素的自动排序规则,HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;
关注时代Java