gpt4 book ai didi

带有基于计数的子列表的 Java 排序集合

转载 作者:搜寻专家 更新时间:2023-10-31 20:32:48 26 4
gpt4 key购买 nike

我们知道我们可以使用

Collections.sort

在插入所有元素后对列表进行排序。

但是如果一次插入元素,也许 SortedMap 更有效?

不过,SortedMap 缺少subList 方法。

我需要的是类似SortedMap 的东西,它可以多次有效地插入少量元素,并且总是可以通过Comparator 接口(interface)自顶向下得到一个1~1000 的子列表.

有什么建议吗?

最佳答案

我认为 SortedSetNavigableSet它又具有类似 subSet 的方法, 尾集, headSet , ceilingfloor 来解决这类问题。

所以你可以这样做:

SortedSet<Integer> set = new TreeSet<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9));
SortedSet<Integer> subset = set.subSet(3,7);
System.out.println(subset); //[3,4,5,6]

显然你可以创造你TreeSet用什么Comparator并按照您认为更方便的顺序执行搜索。

Comparator<Integer> reverse = Collections.reverseOrder();
SortedSet<Integer> set = new TreeSet<>(reverse);
//same thing here

关于带有基于计数的子列表的 Java 排序集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36833256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com