[Java] stream

일단 기록하기·2023년 11월 21일

스트림이란?

다양한 데이터 소스(컬렉션, 배열...)를 표준화된 방법으로 다루기 위한 것으로 데이터 소스를 같은 방식으로 사용할 수 있다.
스트림은 기존 데이터 소스를 변경하지 않아서 필요하면 기존 데이터를 사용할 수 있다. 또, 스트림은 일회용으로 한번 사용하면 다시 사용할 수 없어서 다시 생성해야 한다.

스트림을 만드는 법

스트림은 다양한 데이터 소스를 표준화하여 다룬다고 했기 때문에 다양한 데이터 소스가 스트림으로 변환하는 법을 알면 된다!
1. 컬렉션

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);

// 리스트를 스트림으로 변환하기
Stream<Integer> stream = list.stream();
  1. 배열
// 1. 기본자료형
int[] intArr = {1,2,3,4,5};

// Arrays의 stream() 이용
IntStream intStream = Arrays.stream(intArr);

// IntStream의 of() 이용
IntStream intStream2 = IntStream.of(intArr);

// 2. 래퍼클래스 
Integer[] intArr2 = {10, 20, 30, 40, 50};

// Arrays의 stream() 이용
Stream<Integer> intStream3 = Arrays.stream(intArr2);

// Stream의 of() 이용
Stream<Integer> intStream4 = Stream.of(intArr2);

// 3. 참조형
String[] strArr = {"one", "two", "three"};

// Arrays의 stream() 이용
Stream<String> strStream = Arrays.stream(strArr);

// Stream의 of() 이용
Stream<String> strStream2 = Stream.of(strArr);
  • 배열의 타입이 기본 자료형인 int은 Java 버전 1.8 이상인 경우 IntStream(int 타입의 스트림)으로 변환할 수 있다. LongStream, DoubleStream도 마찬가지이다.
  • 기본 자료형 배열은 기본 Stream으로 변환할 수 없지만 래퍼클래스인 경우에는 가능하다.
  • 배열을 스트림으로 변환하는 방법은 Arrays.stream(배열) 또는 Stream.of(배열) 방법이 있다.
profile
모르는 건 일단 기록이라도 해놔야

0개의 댓글