TIL

람다(Lambda)와 스트림(Stream) 간단 정리

chungmani 2026. 6. 22. 23:38

람다(Lambda)

람다는 메서드를 간결하게 표현하는 문법이다. 익명 클래스를 사용하는 것보다 코드가 훨씬 짧고 읽기 쉬워진다.

예를 들어 Comparator를 구현할 때 별도의 클래스를 만들지 않고 람다식을 사용해 간단하게 작성할 수 있다.

느낀 점

  • 코드가 훨씬 간결해졌다.
  • 처음에는 문법이 낯설었지만, "메서드를 한 줄로 표현하는 방식"이라고 생각하니 이해하기 쉬웠다.

스트림(Stream)

스트림은 컬렉션(List 등)의 데이터를 반복하면서 가공하거나 원하는 결과를 얻기 위한 기능이다.

대표적으로 다음과 같은 작업을 간결하게 처리할 수 있다.

  • filter() : 원하는 조건의 데이터만 선택
  • map() : 데이터를 다른 형태로 변환
  • forEach() : 각 요소를 순회하며 작업 수행
  • collect() : 결과를 새로운 컬렉션으로 수집

기존의 for문보다 코드가 간결해지고, 여러 작업을 하나의 흐름으로 이어서 작성할 수 있다는 점이 인상적이었다.


이번 과제를 하며

public void filterResult(Scanner sc) {
        System.out.print("기준값 입력: ");
        double standardNum = sc.nextDouble();
        sc.nextLine();
        results.stream()
                .filter(resultsValue -> resultsValue > standardNum)
                .forEach(System.out::println);
}

 

이번 계산기 과제를 진행하면서 람다와 스트림을 처음 적용해 보았다. 아직은 익숙하지 않지만, 반복문과 조건문을 더 깔끔하게 작성할 수 있다는 점을 느꼈다. 앞으로 다양한 예제를 통해 연습하면서 자연스럽게 사용할 수 있도록 익혀나갈 예정이다.