gpt4 book ai didi

java - 集合和自然排序 Map>

转载 作者:行者123 更新时间:2023-12-01 15:48:50 24 4
gpt4 key购买 nike

我在处理更复杂的 map 时遇到了麻烦;对于标准Map<Long, String> ,我会做类似的事情:

Ordering<Long> valueComparator = Ordering.natural().onResultOf(Functions.forMap(myMap));
Map<Long, String> orderedMap = ImmutableSortedMap.copyOf(myMap, valueComparator);

但我似乎无法让它喜欢 Map<Long, Map<String, String>> ,仍由龙下令。也许我错过了什么?以下不起作用...

Ordering<Long> valueComparator = Ordering.natural().onResultOf(Functions.forMap(myOtherMap));
Map<Long, Map<String, String>> orderedMyOtherMap = ImmutableSortedMap.copyOf(myOtherMap,valueComparator);

最佳答案

你的第一个例子并没有按照你所说的那样做。它正在创建一个按 String 排序的 map 。对应于每个 Long 的值 key 。如果您只想通过按键订购,只需执行以下操作:

ImmutableSortedMap<Long, String> orderedMap = ImmutableSortedMap.copyOf(myMap);

同样的事情也适用于 Map<Long, Map<String, String>> 。您尝试执行的操作不起作用的原因是 Map<String, String>不是Comparable ,所以它没有自然排序。

顺便说一句,您可能想考虑使用 Table<Long, String, String>而不是Map<Long, Map<String, String>> 。甚至还有一个TreeBasedTable它将按排序顺序存储行键和列键。

关于java - 集合和自然排序 Map<Long, Map<String, String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537513/

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