欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java集合(四)散列集HashSet

程序员文章站 2022-03-15 20:34:05
...
java.util.HashSet
  • HashSet()
    构造一个空散列集。
  • HashSet(Collection<? extends E> elements)
    构造一个散列集,并将集合中的所有元素添加到这个散列集中。
  • HashSet(int initialCapacity)
    构造一个空的具有指定容量(桶数)的散列集。
  • HashSet(int initialCapacity,float loadFactor)
    构造一个指定容量和装填因子(0.0~1.0之间的一个数,确定散列表填充的百分比,当大于这个百分比时,散列表进行再散列)的空散列集。
java.lang.Object 1.0
  • int hashCode()
    返回这个对象的散列码。散列码可以是任何整数,包括正数或负数。equals和hashCode的定义必须兼容,即如果x.equals(y)为true,x.hashCode()必须等于y.hashCode。
package set;

import java.util.*;

/**
 * This program uses a set to print all unique words in System.in.
 * @version 1.12 2015-06-21
 * @author Cay Horstmann
 */
public class SetTest
{
   public static void main(String[] args)
   {
      Set<String> words = new HashSet<>(); // HashSet implements Set
      long totalTime = 0;

      try (Scanner in = new Scanner(System.in))
      {
         while (in.hasNext())
         {
            String word = in.next();
            long callTime = System.currentTimeMillis();
            words.add(word);
            callTime = System.currentTimeMillis() - callTime;
            totalTime += callTime;
         }
      }

      Iterator<String> iter = words.iterator();
      for (int i = 1; i <= 20 && iter.hasNext(); i++)
         System.out.println(iter.next());
      System.out.println(". . .");
      System.out.println(words.size() + " distinct words. " + totalTime + " milliseconds.");
   }
}
相关标签: Java