位置:首页 > Java技术 > Java基础教程 > Java HashSet类

Java HashSet类

HashSet扩展AbstractSet和实现Set接口。它创建一个使用一个哈希表进行存储的集合。

哈希表通过使用一种称为哈希机制存储信息。在散列法中,键的信息内容是用来确定一个唯一的值,称为它的散列码。

散列码,用作在其中与该键相关联的数据被存储在索引中。键转化为它的哈希码是自动进行的。

HashSet类支持四个构造函数。第一种形式构造一个默认的哈希集合:

HashSet( )

下面的构造形式初始化哈希使用c的元素集。

HashSet(Collection c)

下面的构造形式初始化哈希设置为能力的能力。

容量自动成长作为元素被添加到哈希。

HashSet(int capacity)

第四种形式初始化哈希从它的参数设置的两个容量和填充比(也称为负载容量):

HashSet(int capacity, float fillRatio)

此处的填充比例必须在0.0〜1.0之间,它决定如何充分散列集可以是之前它被向上调整大小。具体而言,当元件的数目大于所述散列集乘以它的填充比率的容量,散列组已展开。

除了从它的父类继承的方法,HashSet的定义如下方法:

SN 方法及描述
1 boolean add(Object o) 
将指定的元素添加到此集合,如果它是不存在的。
2 void clear() 
删除所有从这个集合中的元素。
3 Object clone() 
返回此HashSet实例的浅表副本:本身不被复制的元素。
4 boolean contains(Object o)
如果此set包含指定的元素,则返回true
5 boolean isEmpty() 
返回true如果此set不包含任何元素。
6 Iterator iterator() 
返回一个迭代器在此set的元素。
7 boolean remove(Object o) 
从集合中删除指定的元素(如果存在)。
8 int size() 
返回元素的数目(它的基数)。

例子:

下面的程序说明了几个由HashSet支持的方法:

import java.util.*;
public class HashSetDemo {

   public static void main(String args[]) {
      // create a hash set
      HashSet hs = new HashSet();
      // add elements to the hash set
      hs.add("B");
      hs.add("A");
      hs.add("D");
      hs.add("E");
      hs.add("C");
      hs.add("F");
      System.out.println(hs);
   }
}

这将产生以下结果:

[D, E, F, A, B, C]