包含重复项的Scala集合已排序

oipij1gg  于 2023-08-05  发布在  Scala
关注(0)|答案(1)|浏览(87)

我在Scala中寻找一种数据结构,它允许我按照一个条件对集合进行排序,但允许重复该条件。最好的例子可能是人。他们可以按年龄排序,显然,两个年龄相同的人不一定是同一个人。这个问题在here前一段时间就被问到了,但是我没有得到解决方案。我已经测试了大多数常规排序结构和推荐的PriorityQueue,它不提供全局排序,所以我不能使用它。在这种情况下是否有一些更新或仍然与所提出的问题相同?
注意:我不能考虑在修改后对一些常规结构进行排序,因为这些修改非常频繁,并且需要集合处于排序状态

iyr7buue

iyr7buue1#

从所有的评论和其他引用的帖子来看,对我有效的解决方案是连锁排序。例如:

val ordering: Ordering[T] = Ordering
.by[T](/*your criteria*/)
.orElseBy(/*tie breaker criteria*/)

字符串
请注意,这并不保证将保留完整的副本。也可以根据需要有尽可能多的链式标准。

相关问题