[英]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.