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中String类的hashCode方法
下一篇: 利用TCP实现双向聊天