gpt4 book ai didi

JAVA HashSet 顺序

转载 作者:行者123 更新时间:2023-12-02 00:49:01 27 4
gpt4 key购买 nike

这是我的一个练习的代码,

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不保留顺序,如果您希望它保留插入顺序,请使用 LinkedHashSet相反

如果你希望它保留一些comparative order then use custom ComparatorTreeSet

关于JAVA HashSet 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com