열렬히.뛰기

스트림

Language > 프로그래밍 언어 > Java > 스트림

스트림이란?

자료구조 다루기

  • 기존에는 for문과 iterator를 사용해야 했다.
  • 너무 길고 알아보기 어려우며, 재사용성도 떨어진다.
  • 데이터 소스마다 다른 방식으로 다뤄야 한다.

그래서 스트림이라는 것을 만들었다.

스트림의 예시

다음과 같은 코드가 있다고 쳐보자.

java
for (String str : strList)
	System.out.println(str);

이 코드를 스트림을 사용하면 다음처럼 바꿀 수 있다.

java
stream.forEach(System.out::println);

스트림의 특징

  1. 자료구조 내부의 데이터를 변경하지 않는다.
  2. 일회용이다.
  3. 내부 반복으로 처리한다.
  4. 병렬처리가 쉬워진다.
  5. 연산(=메소드)를 계속 점으로 잇는다.
java
stream.distinct().limit(5).sorted().forEach(System.out::println);
  • 여기에서 맨 마지막에 있는 것을 최종연산이라고 한다.

  • 나머지 연산을 중간연산이라고 하며, 뒤에 연산을 연결할 수 있다.

  • 최종연산이 수행되어야 중간연산이 수행되지 않는다.

    중간연산을 호출하는 것은 작업을 지정해주는 것일 뿐이다.

스트림 파악하기

스트림 만들기

일단 자료구조를 스트림으로 만들어야 한다.

java
Stream<String> stream = Stream.of(strArr);

중간연산

New database

최종연산

New database