package stream.basic; import lambda.lambda5.mystream.MyStreamV3; import java.util.List; import java.util.stream.Stream; public class LazyEvalMain3 { public static void main(String[] args) { List data = List.of(1, 2, 3, 4, 5, 6); ex1(data); System.out.println(); ex2(data); } private static void ex1(List data) { System.out.println("== MyStreamV3 시작"); Integer result = MyStreamV3.of(data) .filter(i -> { boolean isEven = i % 2== 0; System.out.println("filter() 실행: " + i + "(" + isEven + ")"); return isEven; }) .map(i -> { int mapped = i * 10; System.out.println("map() 실행: " + i + " -> " + mapped); return mapped; }) .getFirst(); System.out.println("result = " + result); System.out.println("== MyStreamV3 종료"); } private static void ex2(List data) { System.out.println("=== Stream API 시작 ==="); Integer resut = data.stream() .filter(i -> { boolean isEven = i % 2== 0; System.out.println("filter() 실행: " + i + "(" + isEven + ")"); return isEven; }) .map(i -> { int mapped = i * 10; System.out.println("map() 실행: " + i + " -> " + mapped); return mapped; }) .findFirst().get(); System.out.println("resut = " + resut); System.out.println("=== Stream API 종료 ==="); } }