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

是否有一个保留订单的Set也实现List?

佴涵蓄
2023-03-14
问题内容

我试图找到的实现java.util.List,并java.util.Set在Java中的同一时间。我希望此类仅允许唯一元素(如Set)并保留其顺序(如List)。JDK
6中是否存在?

List<T>#add(int, T)一点很重要,这样我就可以插入特定位置。


问题答案:

TreeSet按元素顺序排序;LinkedHashSet保留插入顺序。希望其中之一就是您所追求的。

您已经指定要在 任意 位置插入,我怀疑您必须编写自己的-只需创建一个包含a HashSet<T>和an
的类即可ArrayList<T>。在添加项目时,在将其添加到列表之前,请检查它是否在集合中。

另外,Apache的commons-
collections4提供了ListOrderedSetSetUniqueList,它们的行为类似,应该满足给定的要求。



 类似资料:
  • 问题内容: Java Set是否保留顺序?有一种方法将Set返回给我,并且假定数据是有序的,但是遍历Set时,数据是无序的。有没有更好的方法来解决这个问题?是否需要更改方法以返回Set以外的内容? 问题答案: 该Set接口不提供任何订购保证。 它的子接口代表根据某种标准排序的集合。在Java 6中,有两个实现的标准容器。他们是和。 除了SortedSet接口之外,还有类。它记住元素插入到集合中的顺

  • 不保留顺序。我可以使用列表,但我想指出,生成的集合不允许元素重复,这正是接口的用途。

  • 我有以下方法,这是预期的工作。 但是有没有办法修改它,这样我就不必单独订阅网络客户的电话了 取而代之的是让它成为流量的一部分,并且只从某个订户那里订阅一次? 请注意,这最终必须返回一个可观察的 一些外部订户将执行以下操作。 ; 我希望这能触发整个流程,这也会触发webclient的调用,而不是像上面那样单独调用它。 这可能吗? 因此,寻找类似以下内容的内容,而不是单独订阅webClient。 尝试

  • 问题内容: 我经历了相关的问题,例如如何确保java8流中的处理顺序?,输出元件的排序对我来说还不是很清楚。因此,请澄清我的以下疑问。 我认为至少从理论上(或根据Java规范),它可以比1、2、3、4、5、6、7、8随机打印。我正确吗? 另一个相关的问题-遇到顺序保存的决定是在执行的哪一点进行的?更准确地说- 甚至在执行开始之前,是否通过查看源,中间操作和终端操作的特性来完成整个流管道ORDER特

  • 问题内容: 我有一对多关系的两个表。假设对于表格中的每一行,表格中可以有0或更多行引用。 客户想要知道引用某行中有多少行,对于中的所有行。 我可以使用以下查询完成此操作: 但是,如果表和很大,该怎么办?假设有100万行,并且有1000万行。我们还要说,其中99%的行的引用计数少于1000行。假设客户通常一次请求大约100行。 我应该将朴素的count()查询与外键上的索引一起使用,还是最好保留一个

  • 这是一个检查mongoose上重复记录的函数。在这种情况下,和是唯一字段,因此,如果数据库中有同名或电子邮件的记录,则无法插入新记录: 在运行时,我在代码中发现以下错误: 这是我第一次使用async/await,所以我可能用错了方法。我的目标是按顺序运行que unique测试(findOne),如果一切正常,则保存新的寄存器。