Key, value 값으로 이루어진 Collector 이다
key는 중복 될 수 없다.
- stream 을 사용한 작성
words.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
- map의 stream 사용
- entrySet을 빼서 사용
map.entrySet().stream().filter(i -> i.getValue() == n)//개수 같은거만 filter
.map(Map.Entry::getKey)//키만 빼서
.sorted()
.collect(Collectors.toList());//정렬
- map의 sort
- 일반적으로 안되지만 stream 은 가능
map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(i -> (i.getKey()), i->(i.getValue())));
사용예시!!
list에 포함된 개수(value)대로 map 작성
일반적으로 getOrDefault(key, defalutValue) 사용
value 값이 알아보기 편해짐
String key = "new";
int value = map.get(num) = null ? 1 : map.get(num);
map.put(key, value);
'알고리즘 > java' 카테고리의 다른 글
<java> ArrayDeque vs LinkedList (1) | 2024.06.06 |
---|---|
<java> 세그먼트 트리 segment tree (0) | 2024.06.04 |
<java>백준 4374 - map (0) | 2024.05.31 |
<java> 전력망을 둘로 나누기 - tree, 완전 탐색 (0) | 2024.05.29 |
<java> 모음사전, TreeSet (0) | 2024.05.28 |