簡體   English   中英

在Java中遍歷對象的TreeMap(不是字符串!)

[英]Iterate over a TreeMap of Objects (not Strings!!) in Java

我有一個服務器樹形圖:

TreeMap server_map = new TreeMap<String, Server>() ;

我想遍歷整個地圖以打印所有服務器。 使用這種循環:

for (Map.Entry<String, Server> entry : server_map.entrySet())
{
    System.out.println(entry.getKey() + "/" + entry.getValue().foo);
}

這將不起作用,因為存在未解決的編譯問題:

類型不匹配:無法從元素類型Object轉換為Map.Entry

是否有可能遍歷服務器的樹形圖?

將聲明更改為此:

TreeMap<String, Server> server_map = new TreeMap<String, Server>() ;

還要注意,由於java7不需要在右側聲明泛型類型,因此可以使用菱形運算符,從而節省了一些編寫工作。

TreeMap<String, Server> server_map = new TreeMap<>() ;

在Java 8中,您可以這樣進行:

TreeMap server_map = new TreeMap();
for (Map.Entry entry : server_map.entrySet()){
 System.out.println(entry.getKey() + "/" + ((Server)entry.getValue()).foo);
}

我只是通過做這樣的事情解決了與此類似的問題。 如果使用<String, Server>方式,它將希望您使用Java 1.5語法。

暫無
暫無

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

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