使用基于计数的子列表对Java进行排序的集合

时间:2016-04-25 06:16:55

标签: java collections

我们知道我们可以使用

timeLeft = Math.round(timeLeft/1000) * 1000;
const timer = new Date(timeLeft);
return timer.getUTCMinutes() + ':' + timer.getUTCSeconds();

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

但是如果元素一次插入一次,那么Collections.sort 可能更有效吗?

虽然SortedMap缺少SortedMap方法。

我需要的是像subList这样的东西可以有效地多次插入少量元素,并且总是可以通过SortedMap接口从上到下获得1~1000个子列表。

有任何建议吗?

1 个答案:

答案 0 :(得分:1)

我认为SortedSetNavigableSet,后者又有subSettailSetheadSetceiling和{{}等方法1}}对于这类问题。

所以你可以这样做:

floor

显然,您可以使用您想要的TreeSet创建Comparator,并按照您觉得更方便的顺序执行搜索。

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]