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 staticvoidmain(String[] args){
Set<String> words = new HashSet<>();// HashSet implements Setlong 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.");}}