일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 산술연산자
- 클래스선언
- 프로그래밍
- 조건문
- 변수
- 자바코드
- 반복문
- 메서드오버로딩
- 코딩기초
- 코딩독학
- 1차원배열
- this참조변수
- C++상수
- C++코딩
- 비트연산자
- 제어문
- 고정소수점
- Java
- 자바메서드오버로딩
- 부동소수점
- C++
- 자바클래스
- 증감연산자
- 기초코딩
- 포인터연산자
- 코딩
- 자바
- 포인터
- 자바코딩
- 2차원배열
- Today
- Total
지식아일랜드
코딩 기초 8편 _ JAVA 자바 스트림 API(Stream API) 이해 및 사용방법 본문
안녕하세요!
오늘은 Stream API에 대해 설명드리겠습니다.
아래 예제와 함께 자바 스트림 API에 대해 알아봅시다.
Stream API란?
Stream API는 Java 8부터 도입된 기능으로, 컬렉션(Collection)을 다루는 데 유용한 기능입니다.
Stream은 데이터의 흐름을 나타내는 개념으로, 한 번에 한 개씩만 처리되는 연속된 데이터 항목의 모임입니다.
Stream API 사용 예시
예를 들어, 다음과 같은 문자열 배열이 있다고 가정해 봅시다.
String[] words = {"hello", "world", "java", "stream", "api"};
이 배열을 Stream으로 변환하고, 길이가 5 이상인 단어들만 출력하는 예제를 살펴보겠습니다.
1. 컬렉션을 Stream으로 변환하는 방법
Stream<String> stream = Arrays.stream(words);
위 코드는 Arrays 클래스의 stream 메서드를 사용하여 문자열 배열을 Stream으로 변환하는 코드입니다.
2. Stream을 이용하여 연산을 수행하는 방법
stream.filter(word -> word.length() >= 5)
.forEach(System.out : : println);
위 코드는 Stream API의 filter 메서드를 사용하여 길이가 5 이상인 단어들만 선택하고,
forEach 메서드를 사용하여 선택된 단어들을 출력하는 코드입니다.
"word -> word.length() > - 5"는 람다 표현식으로, 길이가 5 이상인 단어들을 선택하는 조건을 나타냅니다.
Stream API 사용의 효과
Stream API를 사용하면, 컬렉션의 요소를 필터링하거나 정렬하는 등의 다양한 연산을 수행할 수 있습니다.
또한, Stream API를 사용하면 병렬 처리(parallel processing)도 가능해지므로, 대용량 데이터를 더욱 효율적으로 처리할 수 있습니다.
Stream API를 사용한 또 다른 예시
다른 예제로는 IntStream, DoubleStream, LongStream 등의 Stream이 존재합니다.
이들은 각각 int, double, long 타입의 요소를 다루는 Stream입니다.
이들 Stream을 이용하여 간단한 계산을 수행할 수 있습니다.
예를 들어, IntStream을 이용하여 1부터 100까지의 합을 구하는 코드는 다음과 같습니다.
int sum = IntStream.rangeClosed(1, 100).sum();
System.out.println(sum);
위 코드는 IntStream의 rangeClosed 메서드를 사용하여 1부터 100까지의 숫자들을 생성하고,
sum 메서드를 사용하여 이들 숫자들의 합을 계산하는 코드이며, 출력 결과는 5050이 됩니다.
Stream API의 사용방법을 예시와 함께 설명드렸는데요.
잘 이해가 되셨나요?
그럼 다음 포스팅도 기대해 주세요 - !
'JAVA 기초' 카테고리의 다른 글
코딩 기초 10편 _ JAVA 자바 기본타입(Primitive Type) 코드와 예제 (0) | 2023.03.08 |
---|---|
코딩 기초 9편 _ JAVA 프로그래밍 기초: 변수 선언과 종류 (0) | 2023.03.06 |
코딩 기초 7편 _ JAVA 자바 람다 표현식(Lambda Expression) (0) | 2023.03.01 |
코딩 기초 6편 _ 자바 기본 입출력: System 클래스(System out, in, exit) (0) | 2023.02.28 |
코딩 기초 5편 _ Java 주석(Comment) 활용하기 (0) | 2023.02.28 |