반응형
요약: 이 글에서는 Java 8에서 도입된 람다식과 스트림 API의 기본 사용법을 설명합니다. 개발자들이 일하다가 모르는 것이 있다면 이 글을 참고하여 더 효율적인 코드를 작성할 수 있습니다.
람다식(Lambda Expressions) 소개
Java 8에서 도입된 람다식은 익명 함수(Anonymous Function)를 표현하는 간결한 문법입니다. 람다식을 사용하면 코드가 간결해지고, 함수형 프로그래밍 패러다임을 적용할 수 있습니다.
람다식 기본 문법
람다식의 기본 문법은 다음과 같습니다.
(parameters) -> expression
또는
(parameters) -> { statements; }
- parameters: 매개변수 목록
- expression: 단일 표현식
- statements: 문장 블록
람다식 예제
다음은 람다식을 사용한 간단한 예제입니다.
// 기존의 익명 클래스 사용 방법
Runnable runnable1 = new Runnable() {
@Override
public void run() {
System.out.println("Hello, Java!");
}
};
// 람다식 사용 방법
Runnable runnable2 = () -> System.out.println("Hello, Lambda!");
스트림 API(Stream API) 소개
스트림 API는 Java 8에서 도입된 데이터 컬렉션을 처리하는 기능입니다. 스트림 API를 사용하면 복잡한 연산을 간결하게 표현할 수 있으며, 병렬 처리를 쉽게 구현할 수 있습니다.
스트림 생성
스트림을 생성하는 방법은 다음과 같습니다.
- 컬렉션(Collection) 인스턴스의 stream() 메서드를 사용하여 스트림을 생성합니다.
- 배열의 경우 Arrays.stream() 메서드를 사용하여 스트림을 생성합니다.
- Stream.of() 메서드를 사용하여 스트림을 생성합니다.
스트림 연산
스트림에서 제공하는 주요 연산은 다음과 같습니다.
- 중간 연산(Intermediate Operations)
- filter(): 조건에 맞는 요소만 걸러내는 연산
- map(): 요소를 변환하는 연산
- flatMap(): 여러 스트림을 하나의 스트림으로 연결하는 연산
- 최종 연산(Terminal Operations)
- collect(): 스트림의 요소를 컬렉션으로 반환하는 연산
- count(): 스트림의 요소 개수를 반환하는 연산
- reduce(): 스트림의 요소를 하나
의 값으로 축약하는 연산
- forEach(): 스트림의 요소에 대해 작업을 수행하는 연산
스트림 예제
다음은 스트림 API를 사용한 간단한 예제입니다.
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 짝수만 필터링
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println("짝수: " + evenNumbers);
// 각 요소에 2를 곱함
List<Integer> multipliedNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
System.out.println("곱하기 2: " + multipliedNumbers);
// 요소들의 합 계산
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
System.out.println("합계: " + sum);
}
}
이 글에서는 Java 8의 람다식과 스트림 API 기본 사용법을 소개했습니다. 이러한 기능을 활용하면 코드가 간결해지고, 가독성이 향상되며, 함수형 프로그래밍 패러다임을 적용할 수 있습니다. 이 글을 참고하여 Java 8의 람다식과 스트림 API를 활용한 효율적인 코드를 작성해보세요.
#Java8 #람다식 #LambdaExpressions #스트림API #StreamAPI #함수형프로그래밍 #코드개선 #예제
반응형
'자기개발 > 검색한 자료 정리' 카테고리의 다른 글
TypeScript에서 타입 별칭, 인터페이스, 제네릭 사용법 (1) | 2023.04.19 |
---|---|
JavaScript의 비동기 프로그래밍: 콜백, 프로미스, async/await (0) | 2023.04.19 |
Webpack 최적화를 통한 프론트엔드 성능 개선 방법 (0) | 2023.04.19 |
Git 브랜치 전략과 실제 프로젝트에서의 활용 (0) | 2023.04.19 |
React와 Redux를 사용한 프론트엔드 상태 관리 (0) | 2023.04.19 |