我有一个
Map<Float, MyObject>
保持地图根据浮动量排序的最佳方法是什么?
是SortedMap
最好的答案?TreeMap
?如何使用?
我只创建一次地图,并替换了MyObject
经常使用的myMap.put()
和myMap.get()
。
我会用TreeMap
,它实现SortedMap
。正是为此目的而设计的。
例:
Map<Integer, String> map = new TreeMap<Integer, String>();
// Add Items to the TreeMap
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
// Iterate over them
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " => " + entry.getValue());
}
有关SortedMap的信息,请参见Java教程页面。
和这里的教程列表相关TreeMap的。
我不知道如何正确使用比较器接口。 注意:我不想使用我在大多数代码中看到的“一行”比较器实现,这意味着: 再说一遍,我不想使用这个,因为我将对许多不同的ArrayList进行排序,每次这样做似乎都是浪费空间。我想以某种方式让它工作,让我的compareTo方法在一个地方编写一次。 我尝试了许多不同的方法,但我对实现接口还不熟悉,所以我可能遗漏了一些东西。 这是我的Card类和它的比较方法。(注意:让
问题内容: 我想用自定义排序顺序在Java中创建一个。字符串排序的键需要根据第二个字符进行排序。这些值也是字符串。 样本图: 问题答案: 您可以像这样使用自定义比较器: 样品: 请注意,这只是假设字符在索引1处有一个字符。 另外,您也可以使用以下比较: 通常,此减法“技巧”是无效的,但在这里可以正常使用,因为减法2 不会溢出。 不过,上面的and 解决方案更具可读性。
问题内容: 我正在使用Java 8 lambda,并且想要使用 返回一个。我能想到的最好的 方法是使用一个虚拟对象并等于来调用以下方法。 我不想像我只想要的那样传递合并功能,就像下面的基本实现一样: 用来返回a 的最佳实践方法是什么? 问题答案: 我认为您没有比这更好的了: 其中lambda 与之相同,但我不能直接调用它,因为它是私有包(您当然可以总是像这样按自己的方式创建静态方法。)
问题内容: Java 5 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/SortedMap.html Java 6 https://docs.oracle.com/javase/6/docs/api/java/util/SortedMap.html 如您所见,从Java 6开始,这三个api被覆盖。谁能告诉我进行此更改的目的是什么?
我使用以下方法在映射中映射值: 这里建议:https://stackoverflow.com/a/25905196/411965 我想创建一个与SortedMap类似的方法: 用java 8做这件事的方法是什么?
我正在尝试模拟一个游戏板,多个玩家可以提交他们的游戏分数。 波乔即是。java表示排行榜中的一个条目。注意overriden equals()方法。 Position是排行榜中的位置,1是得分最高的用户 我使用一个树状图来存储条目,根据得分,它们会自动排序 如何设置条目的“位置”字段?例如:下面是按分数排序的条目,如何获得相应的“索引/位置”并将其设置在条目中?