Java中输出顺序哈希集的基础是什么
我正在尝试打印哈希集的内容。它输出为[D,E,F,A,B,C]。我希望它输出类似[F,E,D,B,A,C]的东西。这背后有逻辑吗Java中输出顺序哈希集的基础是什么,java,hashset,Java,Hashset,我正在尝试打印哈希集的内容。它输出为[D,E,F,A,B,C]。我希望它输出类似[F,E,D,B,A,C]的东西。这背后有逻辑吗 public class TestSomething { public static void main(String[] args) { HashSet<String> hashSet = new HashSet<String>(); hashSet.add("F"); hashSet.
public class TestSomething {
public static void main(String[] args) {
HashSet<String> hashSet = new HashSet<String>();
hashSet.add("F");
hashSet.add("E");
hashSet.add("D");
hashSet.add("B");
hashSet.add("A");
hashSet.add("C");
System.out.println(hashSet.toString())
}
}
公共类TestSomething{
公共静态void main(字符串[]args){
HashSet HashSet=新的HashSet();
添加(“F”);
添加(“E”);
添加(“D”);
添加(“B”);
添加(“A”);
添加(“C”);
System.out.println(hashSet.toString())
}
}
来自:
它不保证集合的迭代顺序;在里面
特别是,它不能保证订单保持不变
随着时间的推移
如果您需要一个有序的集合,请尝试从
[Hashset]实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证集合的迭代顺序;特别是,它不能保证订单在一段时间内保持不变
对预期输出使用LinkedHashSet