[JAVA] Stream

2024. 1. 24. 15:55Languages/JAVA

 

JAVA를 공부하고 있습니다📝. 틀리거나 다른 부분이 있을 수 있습니다.

 

스트림(Stream)

스트림이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미하는 말이다. 

 

그럼 왜 스트림을 사용할까?

스트림을 이용하면 배열, 컬렉션 또는 여러 데이터들을 같은 방식으로 다룰 수 있기 때문이다. 배열, 컬렉션들을 다루는 메서드들이 같은 기능임에도 다른 이름으로 사용되고 있다.

 

스트림의 특징은

- 데이터 소스를 변경하지 않고

- 작업을 내부 반복으로 처리하며 (반복문을 메서드의 내부로 숨김)

- 병렬 처리가 쉽다 는 점이 있다.

 

// 스트림 만드는 방법은 여러 가지 있겠지만, 배열을 이용해서 만들자면
Stream<String> wordList = Stream.of("aa","bb","cc","aabb","aacc","ccaa");

 

해당 스트림을 이용해서

a로 시작하는 단어 중 2글자 이상이며 b를 포함하고 "라는 예시가 있습니다"라는 글자를 함께 출력한다면?

wordList.filter(x -> x.startsWith("a"))
                .filter(x -> x.length() >= 2)
                .filter(x -> x.contains("b"))
                .map(x -> x + "라는 예시가 있습니다.")
                .forEach(System.out::println);

 

라고 표현할 수 있다!

 

 

References

1. 스트림이란 무엇인가?

2. 나도코딩 자바 기본편

3. JAVA의 정석(기초), 남궁성 저, 도우출판

'Languages > JAVA' 카테고리의 다른 글

[JAVA] max()  (0) 2024.04.04
[JAVA] 간단한 Predicate<T>  (0) 2024.03.31
[JAVA] 입출력 스트림  (0) 2023.05.30
[JAVA] 인터페이스, 컬렉션 프레임워크, 스레드  (0) 2023.05.26
[JAVA] 컬렉션 프레임워크  (0) 2023.05.22