簡體   English   中英

如何通過索引獲取TreeMap的鍵?

[英]How to get the key of a TreeMap by it's index?

所以我試圖通過 int 索引獲取 TreeMap 的鍵。

這是我的代碼:

TreeMap<String, Integer> map = new TreeMap<String, Integer>(Collections.reverseOrder());
map.put("hi", 1);
map.put("hi2", 5);

System.out.println("Key: " + (String) map.keySet().toArray()[0] + "\nValue: " + map.get(0));

但是當我執行這個時,我收到錯誤:

java.lang.Integer cannot be cast to java.lang.String

所以我試圖得到鑰匙:“hi2”

問題是

"\nValue: " + map.get(0)

get的參數必須是String ,而不是0類的Integer 所以這樣做:

String key = map.keySet().toArray()[0];
Integer value = map.get(key);
System.out.println("Key: " + key + "\nValue: " + value);

在我看來,錯誤來自println語句的后半部分:

println(...map.get(0))

其中整數0與映射存在類型沖突,其中鍵類型為String

[編輯]

  • 至於關於通過索引獲取密鑰的原始問題,我認為你做對了: map.keySet().toArray()[0]
  • 對於在map.get()抱怨鍵類型沖突的錯誤,您可以更正參數類型,如上面@Tichodroma 的回答所建議的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM