람다식(Lambda expression)은 메서드를 하나의 식(expression)으로 표현한 것.
🤔 왜why 람다를 사용하는가?
메서드를 좀 더 간결하고 이해하기 쉽게 작성할 수 있다.
람다식은 메서드의 매개변수로 전달될 수 있고, 메서드의 결과로 반환될 수도 있기 때문에 메서드를 변수처럼 사용할 수 있다.
🤔 왜why 스트림을 사용하는가?
스트림을 이용하면 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터까지도 모두 같은 방식으로 다룰 수 있다.
String[] strArr = {"aaa", "ddd", "ccc"};
List<String> strList = Arrays.asList(strArr);
// 스트림을 사용한 경우
Stream<String> strStream1 = strList.stream();
Stream<String> strStream2 = Arrays.stream(strArr);
strStream1.sorted().forEach(System.out::println);
strStream2.sorted().forEach(System.out::println);
// 스트림을 사용하지 않은 경우
Arrays.sort(strArr);
Collections.sort(strList);
for(String str : strArr) {
System.out.println(str);
}
for(String str : strList) {
System.out.println(str);
}
참고