반응형
자바에서 스트림(Stream)을 사용할 경우
집계 메소드인 count를 사용해주면
반환형이 Long인 것이 보이는데
이걸 int / Float / Double 로 받아주고 싶다면
mapToInt > sum 순으로 사용해주면 되는데
1. .mapToInt(n -> 1)
스트림에 걸린 대상을 1로 변경
2. .sum()
모든 대상의 합계를 구함(1+1+1+1)
위 방법으로 .count는 Long만을 반환하지만
int 타입의 1로 만들어버린 후
모두 계산해서 int로 던지는 식으로 사용할 수 있다
Float / Double의 경우에는
mapToInt를 mapToFloat / mapToDouble 로 바꿔주면 된다
예제에 사용한 코드는 아래와 같다
String[] arr = {"A", "B", "C", "A"};
int count = Arrays.asList(arr).stream()
.mapToInt(n -> 1)
.sum();
System.out.println("count : " + count);
반응형
'Language > Java' 카테고리의 다른 글
자바 Objects.equals 사용방법 (0) | 2021.10.28 |
---|---|
자바 List에 값 넣은채로 선언하는 방법 (0) | 2021.10.28 |
자바 Map.Entry 사용방법 정리 (0) | 2021.10.27 |
자바 Map Value 로 Key 찾는 방법 (0) | 2021.10.26 |
자바 스트림(Stream) 에서 ::의 의미는? (0) | 2021.10.26 |
댓글