gpt4 book ai didi

java - 迭代 HashMap ?

转载 作者:行者123 更新时间:2023-12-01 23:17:48 32 4
gpt4 key购买 nike

我正在尝试用 Java 取得高分。基本上我想要一个 HashMap 来保存 double 值(因此索引从最高的 double 值开始,这样我更容易对高分进行排序),然后第二个值将是客户端对象,如下所示:

private HashMap<Double, TempClient> players = new HashMap<Double, TempClient>();

并插入新值:

        TempClient client = new TempClient(kills, rank, deaths, name);
this.players.put(client.getKdr(), client);

现在,我当然无法迭代 HashMap ,因为它通过键而不是索引获取列表项。

如何迭代 HashMap ?或者对我的案例有什么好的想法吗?

我在 Foo 类中尝试过:

输出:

0.5
0.6
0.9
0.1
2.5

代码:

public class Foo {

public static void main(String[] args) {
HashMap<Double, String> map = new LinkedHashMap<Double, String>();
map.put(0.5, "hey");
map.put(0.6, "hey1");
map.put(0.9, "hey2");
map.put(0.1, "hey425");
map.put(2.5, "hey36");
for (Double lol : map.keySet()) {
System.out.println(lol);
}
}

}

最佳答案

你可以像这样迭代。

for (Double k : players.keySet())
{
TempClient p = players.get(k);
// do work with k and p
}

如果您想对键进行排序,请使用例如树形图。
如果您想按照插入的顺序保留键
他们在那里,使用例如LinkedHashMap。

关于java - 迭代 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20955912/

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