我如何从Hashmap中提取和打印特定值?

时间:2017-04-04 21:58:24

标签: java hashmap treemap

I have this code here : 
 public static void exercise5e() {
    List<Hills> hillist = Hills.readHills();

公共静态地图&gt; 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;
}

} 我的hashmap具有(列表名称,国家名称,高度,经度和纬度)的值,但我需要打印3个县,每个县的前3个山丘及其高度我该怎么做?enter image description here

1 个答案:

答案 0 :(得分: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.hillName hill.height 更改为山丘名称和山丘高度的变量名称。