반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- mkdir
- https warning
- 5amsung
- elasticsearch java
- 카드모으기 자바
- java set
- ELK
- Warnings
- flow chart
- high level client
- ES Query
- 코딩테스트
- Draw.IO
- draw.io down
- urllib3
- Collectors.toMap
- collect
- AbsDistinct 풀이
- java
- es test data
- low level client
- analyze api
- intervals
- AbsDistinct java
- codility
- ElasticSearch
- mkdirs
- Elastic Stack
- es
- AbsDistinct
Archives
- Today
- Total
5AMSUNG
[java] Collectors.toMap 본문
반응형
Map 을 선언하고 배열을 순회하면서 put을 해주는 것이 귀찮기도하고..
어쩌면 더 명시적으로 데이터를 확인하면서 처리할 수 있는 방법인거 같음에도 Stream collect 로 맵을 만들어 보자
내가 원하는 형태의 Map 은
Map<String ,Float > map
{aaaa=1.0, bbbb=1.0}
이런 모양이긴 한데 Float 값 즉, value 는 1.0f 값으로 고정되야 한다.
오브젝트로 이루어진 리스트의 경우는 쉽게 데이터를 만들 수 있었는데... 내가 원하는 구조는
아래와 같은 코드로 만들 수 있었다.
String[] strings = new String[]{"aaaa", "bbbb"};
Map<String ,Float > map = Arrays.stream(strings).distinct().collect(Collectors.toMap(Function.identity(), v-> 1.0f));
map 의 키는
Function.identity()
value 는
v-> 1.0f
코드삽입
boolQueryBuilder.should(QueryBuilders
.queryStringQuery(Arrays.stream(requestParam.getKeyword().split(" ")).map(x->x.replaceAll(" ", " AND ")).toString())
.type(MultiMatchQueryBuilder.Type.PHRASE_PREFIX)
.fields(Arrays.stream(itemFields).collect(Collectors.toMap(Function.identity(), v -> 1.0f))));
스트림의 다른 기능도 정리하고 싶지만 필요한거 하나씩 정리하는 편이..
반응형
'Java' 카테고리의 다른 글
[IntelliJ] Unsupported class file major version 61 (0) | 2023.08.06 |
---|---|
[AOP] Aspect Oriented Programming (0) | 2023.07.23 |
[codility] AbsDistinct (0) | 2023.05.19 |
[codilty] MaxProfit (1) | 2023.05.16 |
[groom] 카드모으기 (0) | 2023.05.10 |