java
CHAPTER 20 / 69
읽기 약 2분
SYNTAX
람다와 스트림
핵심 개념
Java 8+의 람다: 익명 함수를 간결하게 표현.
스트림 API: 컬렉션을 선언적으로 처리.
filter, map, sorted, collect — 4개의 핵심 연산.
실무에서 for loop 대신 Stream을 자주 사용한다.
코드 분석
import java.util.*;
import java.util.stream.*;
public class LambdaStream {
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(5, 3, 8, 1, 9, 2, 7, 4, 6);
// 람다 (Comparator)
nums.sort((a, b) -> a - b);
System.out.println(nums); // [1,2,3,4,5,6,7,8,9]
// 스트림
List<Integer> result = nums.stream()
.filter(n -> n % 2 == 0) // 짝수만
.map(n -> n * 10) // 10배
.sorted(Comparator.reverseOrder()) // 역순
.collect(Collectors.toList());
System.out.println(result); // [80, 60, 40, 20]
// 통계
int sum = nums.stream().mapToInt(Integer::intValue).sum();
double avg = nums.stream().mapToInt(Integer::intValue).average().orElse(0);
System.out.println("합계: " + sum + ", 평균: " + avg);
}
}AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 Spring '람다와 스트림' 코드에서 DI 관련 버그·순환 참조·트랜잭션 누수를 찾아서 수정해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'람다와 스트림'를 Spring Boot 3.x로 구현한 실전 API 코드(컨트롤러+서비스+레포지토리+테스트)를 완성형으로 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 Spring '람다와 스트림' 프로젝트의 빈 구조와 의존성 트리를 전체 분석하고 N+1 쿼리·순환 참조·성능 병목을 정리해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
Spring '람다와 스트림' vs Quarkus·Micronaut·Ktor의 동일 기능 구현을 2026년 한국 채용 시장 기준으로 솔직히 비교해줘.
⭐ 이것만 기억하세요
람다와 스트림은 이 3가지만 확실히 잡으세요
1.for문으로 필터링→변환→수집을 하면 코드가 장황하고 의도가 드러나지 않습니다
2.람다(->)로 익명 함수를 만들고, Stream의 filter/map/collect로 데이터를 선언적으로 처리합니다
3.다음 챕터에서 Java 문법 통합 실습을 합니다
공유하기
진행도 20 / 69