[HashMap] 값 전부 꺼내기 & Key/Value 기준 정렬

개발자·2022년 1월 18일
0

Java

목록 보기
5/8
post-thumbnail

HashMap 값 전부 꺼내는 방법

entrySet()

for (Map.Entry<String, String> entry : map.entrySet()) {
	System.out.println("key:" + entry.getKey() + ", value:" + entry.getValue());
}

keySet()

for (String key : map.keySet()) {
    System.out.println("key:" + key + ", value:" + map.get(key));
}

iterator()

Iterator<String> iter = map.keySet().iterator();
while (iter.hasNext()) {
	String key = iter.next();
	System.out.println("key:" + key + ", value:" + map.get(key));
}


HashMap 정렬(오름차순 기준)

Key 기준 정렬

Map<String, Integer> sortedMap = new TreeMap<>(map);

for(String key : sortedMap.keySet()) {
	System.out.println("key:" + key + ", value:" + map.get(key));
}

Value 기준 정렬

내장 함수

List<Map.Entry<String, Integer>> list = new LinkedList<>(map.entrySet());
list.sort(Map.Entry.comparingByValue());

lamda

List<Map.Entry<String, Integer>> list = new LinkedList<>(map.entrySet());
Collections.sort(list, (o1, o2) -> {return o2.getValue().compareTo(o1.getValue());});

comparator

List<Map.Entry<String, Integer>> list = new LinkedList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
    @Override
    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
	return o1.getValue() - o2.getValue();
        //return o1.getValue().compareTo(o2.getValue());
    }
});

Ref.

https://tychejin.tistory.com/31
https://velog.io/@cgw0519/Java-HashMap-Value-%EA%B8%B0%EC%A4%80%EC%9C%BC%EB%A1%9C-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0

profile
log.info("공부 기록 블로9")

0개의 댓글

관련 채용 정보