Map<String, String> map = new HashMap<>();
map.put("1", "hell");
map.put("2", "hello");
map.put("3", "hel");
map.put("4", "hello");
for (String key : map.keySet()) {
System.out.println("key= " + key + " and value= " + map.get(key));
}
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
將 entrySet 轉為 List,配合 Comparator 排序:
List<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet());
// 1. 按 Key 排序
list.sort(Comparator.comparing(Map.Entry::getKey));
// 2. 按 Value 排序
list.sort(Comparator.comparing(Map.Entry::getValue));
// 輸出
for (Map.Entry<String, String> e : list) {
System.out.println(e.getKey() + "=" + e.getValue());
}
Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
@Override public int compare(Entry<String, String> m, Entry<String, String> n) {
return m.getKey().compareTo(n.getKey()); // 或 getValue()
}
});
最佳實踐:日常遍歷首選 entrySet;需排序時轉 List + Comparator.comparing(Java 8+)或 Collections.sort(Java 7)。