19.4 散列集
上一节介绍了散列表,本节将介绍散列集,两种数据结构只是一字之差。那么它们有什么区别?散列集又有什么可取之处呢?本节将通过实例来展示散列集的作用。
19.4.1 什么是散列集
散列表和散列集这两种数据结构,功能基本相同,不过它们实现的接口不一样。散列表实现的是Map(映像)接口,而散列集实现了Set接口。另外,散列表是线性同步,而散列集是非线性同步。
散列集既然实现了Set接口,也就实现了Collection接口,所以它是一个集合。仍然是add方法添加元素,接下来介绍散列集的构造器和常用方法函数。
散列集的构造器:
❑HashSet()
创建一个空的散列集对象。
❑HashSet(collection c)
创建一个包含有collection集合中所有元素的散列集对象。
❑HashSet(int initialCapacity)
创建一个初始容量为initialCapacity的散列集对象。
❑HashSet(int initialCapacity, float loadFactor)
指定初始化容量和负载因子,构造一个散列集。它的初始容量是16,负载因子是0.75。
散列集的常用方法如下:
❑boolean add(o):添加一个元素到散列集中。如果这个元素在散列集中不存在,就直接添加它,否则就返回false。
❑boolean remove(o):删除一个元素。如果这个元素存在,就删除它,否则就返回false。
❑boolean isempty():判断集合是否为空。
当然散列集的方法不止这些,此处只是列出其中常用的。在后面的程序中,将会遇到一些,到时候再继续介绍。