当前位置: 首页 > 面试题库 >

Java Set保留顺序?

晋承运
2023-03-14
问题内容

Java Set是否保留顺序?有一种方法将Set返回给我,并且假定数据是有序的,但是遍历Set时,数据是无序的。有没有更好的方法来解决这个问题?是否需要更改方法以返回Set以外的内容?


问题答案:

该Set接口不提供任何订购保证。

它的子接口SortedSet代表根据某种标准排序的集合。在Java 6中,有两个实现的标准容器SortedSet。他们是TreeSetConcurrentSkipListSet

除了SortedSet接口之外,还有LinkedHashSet类。它记住元素插入到集合中的顺序,并以该顺序返回其元素。



 类似资料:
  • 包含由管道分隔的数字列表的文件可以有重复项。需要编写map reduce程序,在原始输入顺序中列出不重复的数字。我可以删除重复项,但不保留输入顺序。

  • Java集是否保持顺序?一个方法返回一个集合给我,假设数据是有序的,但是在集合上迭代,数据是无序的。有更好的方法来管理这个吗?这个方法需要改变来返回集合以外的东西吗?

  • 我有一个可用的列表名,我正在按blockIndex属性对这些列表进行排序和分组,如下所示: 问题是分组的结果不按block Index排序。

  • 问题内容: TL; DR; 我正在寻找一个可以查找特定中间操作或终端操作的地方。在哪里可以找到此类文档? 编辑 这不是如何确保java8流中的处理顺序的重复项?,因为该问题未提供完整的操作列表。 该软件包的文件说: 流是否具有遇到顺序取决于源和中间操作 为了确保在整个流操作中维持顺序,您必须研究流源,所有中间操作和终端操作的文档,以了解它们是否维持顺序(或源是否在第一个顺序中具有顺序)地点)。 一

  • 问题内容: 我正在编写一个Java程序,该程序读取xml文件,进行一些修改并写回xml。 使用标准的Java xml DOM api,不会保留属性的顺序。也就是说,如果我有一个输入文件,例如: 我可能会得到一个输出文件: 是正确的,因为XML规范说order属性并不重要。 但是,我的程序需要保留属性的顺序,以便一个人可以使用diff工具轻松比较输入和输出文档。 一种解决方案是使用SAX(而不是DO

  • 问题内容: 在使用Python Pandas进行读写时,是否可以保留csv文件中列的顺序?例如,在此代码中 输出文件可能会有所不同,因为未保留列。 问题答案: 当前版本的Pandas(‘0.11.0’)中似乎存在一个错误,这意味着Matti John的答案将不起作用。如果您指定要写入文件的列,则它们将按字母顺序书写,而只是根据cols中的列表重新标记。例如,此代码: 导致以下(错误)输出: 您可以