我想在Java中創造一種高分。 基本上我想要一個HashMap來保持雙值(所以指數從最高的雙啓動,所以它更容易爲我的高分排序),然後第二個值將是客戶端對象,像這樣:通過hashmap迭代?
private HashMap<Double, TempClient> players = new HashMap<Double, TempClient>();
並插入一個新的值:
TempClient client = new TempClient(kills, rank, deaths, name);
this.players.put(client.getKdr(), client);
現在,我當然不能遍歷散列表,因爲它通過鍵而不是索引獲取列表項。
如何迭代散列表?或者我的情況有什麼好的想法?
我試圖在一個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);
}
}
}
在這種情況下得分是雙倍嗎?或者一個playerID –
查找Kdr,聽起來好像確實是得分,HashMap工作的方式Double是TempClient的關鍵,如果幾個TempClient具有相同的Kdr,那麼HashMap將只保留一個 –