gpt4 book ai didi

java - 如何反转 SortedSet 的顺序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:38:14 24 4
gpt4 key购买 nike

我想使用以下方法在 Map 中打印有序列表:

Map<Float, String> mylist = new HashMap<>();

mylist.put(10.5, a);
mylist.put(12.3, b);
mylist.put(5.1, c);

SortedSet<Float> orderlist = new TreeSet<Float>(mylist.keySet());

for (Float i : orderlist) {
System.out.println(i+" "+mylist.get(i));
}

上面的代码打印:

5.1 c
10.5 a
12.3 b

但是我如何像下面这样以相反的顺序打印订单列表:

12.3 b
10.5 a
5.1 c

最佳答案

如果您愿意以相反的顺序将元素存储在 SortedSet 中,您唯一需要做的更改就是使用 an appropriate constructor 构造 TreeSet这需要自定义 Comparator :

Map<Float, String> mylist = new HashMap<>();

mylist.put(10.5, a);
mylist.put(12.3, b);
mylist.put(5.1, c);

SortedSet<Float> orderlist = new TreeSet<Float>(Collections.reverseOrder());
orderList.addAll(mylist.keySet());

for (Float i : orderlist) {
System.out.println(i+" "+mylist.get(i));
}

注意这里的简洁方法是 Collections.reverseOrder()它返回一个 Comparator,它以与元素的自然顺序相反的方式进行比较。

关于java - 如何反转 SortedSet 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35122490/

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