hojunho / main

1 stars 0 forks source link

[210309] 실습 5 - Java Stream #10

Open joonokimu opened 3 years ago

joonokimu commented 3 years ago

내용

  1. Streams 복습
joonokimu commented 3 years ago

Stream 복습

  1. Java 8 에 추가도니 Steram()은 람다를 활용할 수 있는 기술 중 하나로, '데이터의 흐름'을 나타낸다.
  2. 또 하나의 장점은 간단하게 병렬처리 (multi-threading)가 가능하다.

스트림에 대한 내용은 크게 세 가지로 나눈다.

  1. 생성하기 : 스트림 인스턴스 생성
  2. 가공하기 : 필터링(filtering) 및 맵핑 (mapping) 등 원하는 결과를 만들어 가는 중간 작업
  3. 결과 만들기 : 최종적으로 겨로가를 만들어 내는 작업

생성하기

  1. 배열 스트림

    • 스트림을 이용하기 위해서 먼저 생성을 한다.
    • Arrays.stream 메서드를 사용한다.
      String [] arr = new String[] {"a", "b", "c"};
      Stream<String> stream = Arrays.stream(arr);Stream<String> streamOfArrayPart = Arrays.stream(arr, 1, 3); // 1~2요소 [b,c]
  2. 컬렉션 스트림

    • 컬렉션 타입 (Collection, List, Set)의 경우 인터페이스에 추가된 디폴트 메서드 stream을 이용하여 스트림을 만들 수 있다.
      List<String> list = Arrays.asList("a", "b", "c");
      Stream<String> stream = list.stream();
      Stream<String> parrallelStream = list.parallelStream(); 
  3. Stream.builder()

    • 빌더를 사용하면 스트림에 직접적으로 원하는 값을 넣을 수 있다.
    • 마지막에 build 메소드로 스트림을 리턴한다.
      Stream<String> builderStream = 
      Stream.<String>builder()
      .add("a").add("b").add("c")
      .build();