Java 204

179. 스트림 결과 수집하기 – toList()와 Collectors.toMap() 활용

스트림 API를 사용하면 중간 연산 후의 데이터를 리스트나 맵 형태로 수집할 수 있습니다.이번 예제에서는 filter()를 활용해 조건에 맞는 데이터를 리스트로 수집하고,Collectors.toMap()을 통해 특정 필드를 맵(Key-Value) 형태로 변환하는 방법을 실습해보겠습니다.📦 Student.javapackage ch17.sec12;public class Student { private String name, sex; private int score; public Student(String name, String sex, int score) { this.name = name; this.sex = sex; this.score = score; } public String getName() ..

Java/자바 정리 2025.05.26

178. 스트림 집계 연산 – sum() vs reduce()

자바의 스트림 API에서는 합계, 평균, 최대값 등 다양한 집계 연산을 제공하며,sum()처럼 간편한 메서드도 있지만 보다 유연하게 처리할 수 있는 reduce()도 존재합니다.이번 예제에서는 두 방식으로 학생 점수의 합계를 구하는 방법을 비교해보겠습니다.📦 Student.javapackage ch17.sec11;public class Student { private String name; private int score; public Student(String name, int score){ this.name = name; this.score = score; } public String getName() { return name; } public int getScore() { return sc..

Java/자바 정리 2025.05.26

177. Optional로 평균 처리하기 – isPresent, orElse, ifPresent 활용

스트림에서 average() 같은 집계 연산을 사용할 때,빈 컬렉션이나 조건에 맞는 데이터가 없으면 값이 존재하지 않을 수 있습니다.이럴 때는 Optional 객체를 통해 안전하게 값을 다루는 것이 중요합니다.이번 예제에서는 OptionalDouble을 활용한 세 가지 평균 처리 방법을 실습해보겠습니다.📌 예제 코드import java.util.ArrayList;import java.util.List;import java.util.OptionalDouble;public class OptionalExample { public static void main(String[] args) { List list = new ArrayList(); // 방법1: isPresent()로 존재 여부 확인 후 get ..

Java/자바 정리 2025.05.26

176. 스트림 집계(Aggregate) 연산 – count, sum, average, max, min, findFirst

스트림(Stream)은 데이터를 반복 처리할 뿐만 아니라,조건에 맞는 값의 개수, 합계, 평균, 최대/최소, 첫 번째 요소 등을 쉽게 구할 수 있습니다.이번 예제에서는 다양한 집계 메서드를 활용하여 간단한 정수 배열을 집계해보겠습니다.📌 예제 코드import java.util.Arrays;public class AggregateExample { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; // 2의 배수 개수 long count = Arrays.stream(arr) .filter(a -> a % 2 == 0) .count(); System.out.println("2의 배수 개수 : " + count); ..

Java/자바 정리 2025.05.26

175. 스트림 요소 조건 검사 – allMatch, anyMatch, noneMatch

스트림 API에서는 데이터 전체 또는 일부가 특정 조건을 만족하는지 확인할 수 있는조건 검사 메서드(allMatch, anyMatch, noneMatch) 를 제공합니다.이번 예제에서는 배열을 대상으로 세 가지 메서드의 차이점을 살펴보겠습니다.📌 예제 코드import java.util.Arrays;public class MatchingExample { public static void main(String[] args) { int[] intArr = { 2, 4, 6 }; // 모든 요소가 2의 배수인지 확인 boolean result = Arrays.stream(intArr) .allMatch(a -> a % 2 == 0); System.out.println("모두 2의 배수입니까?"); ..

Java/자바 정리 2025.05.26

174. 스트림에서 중간 연산 출력 – peek()과 forEach()의 차이

스트림 API를 사용할 때 데이터 흐름을 중간에 확인하거나최종 결과를 출력하고 싶을 때 사용할 수 있는 메서드들이 있습니다.이번 예제에서는 peek()과 forEach()의 차이를 실습해보며,중간 연산과 최종 연산의 개념을 함께 정리해보겠습니다.📌 예제 코드import java.util.Arrays;public class LoopingExample { public static void main(String[] args) { int intArr[] = { 1, 2, 3, 4, 5 }; // peek() 단독 사용 → 출력되지 않음 (최종 연산이 없음) Arrays.stream(intArr) .filter(a -> a % 2 == 0) .peek(System.out::println); // ..

Java/자바 정리 2025.05.26

173. sorted()에 직접 비교식 넣기 – 사용자 지정 정렬 구현하기

앞선 예제에서는 Comparable 인터페이스를 활용하여 객체 정렬을 수행했습니다.이번에는 sorted() 메서드에 직접 람다식을 넣어 정렬 기준을 지정하는 방식을 실습해보겠습니다.이 방법은 다양한 정렬 기준을 코드 내에서 즉석으로 처리할 수 있어 매우 유용합니다.📦 Student.javapackage ch17.sec06;public class Student { private String name; private int score; public Student(String name, int score) { this.name = name; this.score = score; } public String getName() { return name; } public int getScore() { ret..

Java/자바 정리 2025.05.26

172. 정렬 스트림 – sorted()와 reverseOrder()로 객체 정렬하기

스트림에서는 sorted() 메서드를 이용해 데이터를 정렬하여 처리할 수 있습니다.특히 객체에 Comparable 인터페이스가 구현되어 있다면,자연 정렬 또는 역순 정렬을 통해 리스트의 요소를 손쉽게 정렬된 형태로 출력할 수 있습니다.이번 예제에서는 Student 객체 리스트를 정렬해 출력해보겠습니다.📦 Student.javapackage ch17.sec06;public class Student implements Comparable { private String name; private int score; public Student(String name, int score) { this.name = name; this.score = score; } public String getName() { ..

Java/자바 정리 2025.05.26

171. flatMap()과 flatMapToInt() – 다차원 데이터를 평면화하기

스트림을 사용하다 보면, 요소가 내부적으로 배열이나 하위 컬렉션을 포함한 경우가 많습니다.이때 map()을 사용하면 중첩 스트림(Stream) 이 만들어지지만,flatMap()을 사용하면 이를 평면화(flatten)하여 단일 스트림으로 만들 수 있습니다.이번 예제에서는 문자열 문장을 단어로, 숫자 문자열을 정수로 평탄화(flatten)하는 과정을 실습해보겠습니다.📌 예제 코드import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class FlatMappingExample { public static void main(String[] args) { // 문자열 문장을 단어 단위로 분리 (공백 기준) List li..

Java/자바 정리 2025.05.26

170. asDoubleStream()과 boxed() – 기본형 스트림 변환하기

자바의 IntStream은 정수 전용 스트림으로,필요에 따라 double 스트림으로 변환하거나,객체 스트림(Stream)으로 변환해야 할 때가 있습니다.이번 예제에서는 asDoubleStream()과 boxed() 메서드를 통해기본형 스트림을 다양한 방식으로 변환하는 방법을 실습해보겠습니다.📌 예제 코드import java.util.Arrays;import java.util.stream.IntStream;public class MapExample { public static void main(String[] args) { int intArray[] = { 1, 2, 3, 4, 5 }; // int → double 스트림으로 변환 IntStream intStream = Arrays.stream(in..

Java/자바 정리 2025.05.26
반응형