基本上不会保留HashSet
后面的插入顺序,但我想在Java中以保留顺序的形式显示HashSet
个对象。
有可能吗?如果是,那么请你分享一些想法。
提前致谢
JP。
答案 0 :(得分:4)
使用LinkedHashSet而不是HashSet。 LinkedHashSet将维护广告订单。
答案 1 :(得分:1)
对于Set,有LinkedHashSet
,而Map有LinkedHashMap
- 两者都保留了插入项目的顺序,尽管性能影响非常小。
还有TreeMap
和TreeSet
的选项,它们不保留插入元素的顺序,而是将它们保持在指定的顺序(它们的自然顺序或比较器指定的顺序) )。
答案 2 :(得分:0)
您可以使用保留广告订单的LinkedHashSet
。
答案 3 :(得分:0)
使用LinkedHash设置它preserves
插入顺序。
Set<String> set = new LinkedHashSet<String>();
for(int i = 0; i <5; i++)
{
set.add( i+"" );
}
// insertion order is 0,1,2,3,4
for(String str : set)
{
System.out.println(str);
}
//output 0,1,2,3,4
答案 4 :(得分:0)
如果插入顺序很重要,也许你应该使用ArrayList。