San*_*nan 2 java collections set
我的java程序中有一些值.我只是存储了这些值HashSet.我通过for循环存储它.在形成集合之后,循环迭代的值已被不同地排序.如何HashSet从循环中限制此顺序更改.有人可以帮我吗?
ass*_*ias 10
如果希望set保持插入顺序,可以使用LinkedHashSet:
Set接口的实现,具有可预测的迭代顺序.此实现与HashSet的不同之处在于它维护了一个贯穿其所有条目的双向链表.此链接列表定义迭代排序,即元素插入集合(插入顺序)的顺序.
或者,如果要对集进行排序,可以使用TreeSet.
A HashSet是无序的,因为javadocs指定:
它不能保证集合的迭代顺序; 特别是,它不保证订单会随着时间的推移保持不变.该类允许null元素.
您可能需要考虑使用a LinkedHashSet,它维护插入的顺序.
另一种方法是使用其中一种NavigableSet实现,例如TreeSet根据自然顺序保证顺序,或者Comparator如果给出.
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |