,這是我的代碼在一個鍛鍊,JAVA HashSet的訂單
public class RockTest {
public static void main(String[] args){
HashSet<Rock> hashset = new HashSet();
Rock rock1 = new Rock("QingDanasty",89);
Rock rock2 = new Rock("Modern",32);
Rock rock3 = new Rock("MingDanasty",100);
hashset.add(rock1);
hashset.add(rock2);
hashset.add(rock3);
Iterator<Rock> iterator = hashset.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next().getName());
}
}
}
當代碼被打印,控制檯顯示ROCK2 ROCK1的順序rock3代替ROCK1 ROCK2和rock3,但是,我不知道爲什麼?
HashSet順序(如果你想調用它)基於hashCode。所以,基於對象的HashCode,決定排序。 – TheLostMind
3複製問題投票,4回答已經回答的重複問題。有趣的:) –