Skip to content

스트림이란? #40

Description

@korjun1993

스트림이란?

  • 데이터소스를 다루기 위한 표준
  • 데이터소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드가 정의되어 있음
  • 예를 들어, 배열과 List로부터 스트림을 생성하는 방법은 다음과 같다.
String[] strArr = {"aaa", "ddd", "ccc"};
List<String> strList = Arrays.asList(strArr);

// stream 생성
Stream<String> strStream1 = Arrays.stream(strArr);
Stream<String> strStream2 = strList.stream();

// stream 사용 -> 데이터소스는 다르지만 정렬하고 출력하는 방법은 완전히 동일하다.
strStream1.sorted().forEach(System.out::println);
strStream2.sorted().forEach(System.out::println);

주의할 점

  • 스트림은 데이터 소스를 변경하지 않는다.
  • 스트림은 일회용이다.
strStream1.sorted().forEach(..);
int numOfStr = strStream1.count(); // 에러. 스트림이 이미 닫혔음.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions