Table of Contents
Java – HashMap 출력하기
Map 에 들어있는 데이타를 뽑아내는 방법을 정리합니다.
데이타 준비
Map<String, String> map = new HashMap<>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
entrySet()
key/value 를 한번에 추출합니다.
정렬이 안된 상태로 랜덤하게 데이타가 나옵니다.
정렬된 데이타가 필요하면 아래에서 설명하는 stream().sorted()
를 이용해야 합니다.
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("[key]:" + entry.getKey() + ", [value]:" + entry.getValue());
}
keySet()
key 만 추출합니다.
value 가 필요하면 추가작업이 필요합니다.
정렬이 안된 상태로 랜덤하게 데이타가 나옵니다.
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println("[key]:" + key + ", [value]:" + value);
}
Lambda
map.forEach((key, value) -> {
System.out.println("[key]:" + key + ", [value]:" + value);
});
stream()
map.entrySet().stream().forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});
stream().sorted()
아래의 방법으로 정렬된 출력값을 얻을 수 있습니다.
map.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});
map.entrySet().stream().sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())).forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});