본문 바로가기

Java/Stream 예제5

[Java / Stream] 정수 배열(int[])을 해시맵으로 변환하기 / Collectors.toMap() 활용 예제 상황 다음과 같은 정수 배열 arr가 있을 때, 이 배열의 원소 별 count를 담는 해시맵을 만들고자 할 때 Collectors.toMap() 메서드를 활용할 수 있다. 결과로서의 arrMap은 다음과 같은 Key : Value 쌍을 이룰 것이다. - 1 : 3 - 2 : 2 - 3 : 1 int[] arr = {1, 1, 1, 2, 2, 3}; Map arrMap = Arrays.stream(arr) .boxed() .collect( Collectors.toMap( x->x, x->1, Integer::sum)); toMap() 메서드 살펴보기 아래는 toMap()의 선언부이다. 인자로서 keyMapper, valueMapper, mergeFunction을 받는다. 이때 mergeFunction.. 2023. 5. 20.
[Stream 예제] int[]의 중복 원소 제거 (Set 활용) 다음과 같은 int 배열 arr가 있다고 가정했을 때, Set 자료구조의 특성을 활용하여 중복된 원소를 제거할 수 있다. int[] arr = new int[]{1, 2, 3, 2, 1}; // array -> set -> arrayList ArrayList distinct = new ArrayList( Arrays.stream(arr) .boxed() .collect(Collectors.toSet())); 2023. 5. 12.
[Stream] int[] ↔ Integer[] 변환 int[] → Integer[] public static void main(String[] args) { int[] intArray = {1, 2, 3, 4}; Integer[] IntArray = Arrays.stream(intArray) .boxed() .toArray(Integer[]::new); } Integer[] → int[] public static void main(String[] args) { Integer[] IntArray = {1, 2, 3, 4}; int[] intArray = Arrays.stream(IntArray) .mapToInt(i -> i) .toArray(); } 2023. 3. 8.
[Java / Stream] 배열 ↔︎ 리스트 간 변환 (정수) 예제 코드 int[] arr = {1, 2, 3, 4}; // 배열 -> 리스트 List list = new ArrayList( Arrays.stream(arr) .boxed() .collect(Collectors.toList()) ); // 리스트 -> 배열 int[] arrB = list.stream() .mapToInt(i -> i) .toArray(); 2023. 2. 1.