[英]Java TreeMap return key position
我有這張樹圖:
Map teamNameAndLeague = new TreeMap();
teamNameAndLeague.put("team1", "name1");
teamNameAndLeague.put("team2", "name2");
teamNameAndLeague.put("team3", "name3");
我如何搜索密鑰並返回該密鑰的索引示例:
search for key: "team1" in teamNameAndLeague, Returns index: 1
我有這個:
int indexWin = new ArrayList<String>(teamNameAndLeague.values()).indexOf("name2") + 1;
That returns: 2
它返回此鍵的索引,但用於鍵值的搜索。 我怎樣才能做類似的事情,但尋找關鍵
TreeMap不使用索引。 它是一棵樹,而不是線性序列。 如果您想下訂單,可以這樣做。
為此,您必須為鍵提供一個Comparator(如果需要,默認字符串Comparator會這樣做),將列表排序到數組中,然后對數組進行索引,這與您已經使用值發布的方式非常相似。 但是請注意,這將忽略樹結構。 參見http://java2novice.com/java-collections-and-util/treemap/basic-comparator/中的示例
另外,請注意頁面底部的鏈接列表:這些鏈接將引導您完成基本的TreeMap操作。
另一種方法是使用來自鍵teamNameAndLeague.keySet的“ set”對象; 這也忽略了樹的結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.