2017-04-04 4 views
0
I have this code here : 
public static void exercise5e() { 
    List<Hills> hillist = Hills.readHills(); 

パブリック静的地図> hillsByCounty(リスト丘){ハッシュマップから特定の値を抽出して出力する方法はありますか?

HashMap<String, Set<Hills>> hashMap = new HashMap<String, Set<Hills>>(); 
    // List<Hills> hillist = Hills.readHills(); 

    for (Hills h : hillist) { 
     String key = h.countryname; 

     } else { 
      Set<Hills> set = new TreeSet<Hills>(); 
      set.add(h); 
      hashMap.put(key, set); 

     } 

    } 





    System.out.println(hashMap1); 
    return hashMap1; 
} 

}しかし私は印刷する必要 マイハッシュマップは、リストから(丘名、国名、高さ、経度と緯度の値を持ちます最初の3つの各郡の丘とその高さの3つの県は、私はそれを行うことができますどのように?enter image description hereあなたの方法は次のようになります方法です

+0

[Javaハッシュマップ:値からキーを取得する方法](http://stackoverflow.com/questions/1383797/java-hashmap-how-to-get-key-from-value) – Fizz

答えて

0

。私はそれが実際のコードなしで行うことができる最高の一つだと思います。

List<Hills> hillist = Hills.readHills(); 
    Map<String, Set<Hills>> hillsByCounty = Hills.hillsByCounty(hillist); 

    Set<Map.Entry<String, Set<Hills>>> entrySet = hashMap.entrySet(); 
    Iterator<Map.Entry<String, Set<Hills>>> entryIterator = entry1.iterator(); 
    for(int i = 0; i < 3; i++){ 
      Map.Entry<String, Set<Hills>> mapEntry = entryIterator.next(); 
      System.out.println("### County: " + mapEntry.getKey()); 
      Set<Hills> hills = mapEntry.getValue(); 
      for (int j = 0; j < 3; j++) {  
        Hill hill = iterator.next(); 
        System.out.println(hill.hillName + " " + hill.height); 
       } 
      } 
     } 
    } 

変更hill.hillNamehill.height丘の名前と丘の高さのためにどのような変数名にしています。

+0

の可能な複製OPは3つの郡だけを印刷したいので、3つの郡の後に出る。 – Crocode

+0

正直言って、正直言ってはいっていますが、3つの郡の後には壊れていません。リスト全体の終わりまでです。 – Fizz

+0

最も簡単な解決法:カウンターを追加し、各イテレーターを増分して、私の答えを編集しました – Cargeh

関連する問題