Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9의 Stream API에서 collect() 메서드를 사용하는 방법은 무엇입니까?


collect() Stream API의 메소드 스트림 개체에서 모든 개체를 수집하고 컬렉션 유형에 저장 . 사용자는 결과를 저장할 수 있는 컬렉션 유형을 제공해야 합니다. Collectors Enum을 사용하여 컬렉션 유형을 지정합니다. . Collectors Enum에는 다양한 유형과 다양한 작업이 있을 수 있습니다. 하지만 대부분의 경우 Collectors.toList()를 사용할 수 있습니다. , Collectors.toSet()Collectors.toMap() .

구문

<R, A> R collect(Collector<? super T,A,R> collector)

import java.util.*;
import java.util.stream.*;

public class StreamCollectMethodTest {
   public static void main(String args[]) {
      List<String> list = List.of("a", "b", "c", "d", "e", "f", "g", "h", "i");

      List<String> subset1 = list.stream()
                                 .takeWhile(s -> !s.equals("e"))
                                 .collect(Collectors.toList());
      System.out.println(subset1);

      List<String> subset2 = list.stream()
                                 .dropWhile(s -> !s.equals("e"))
                                 .collect(Collectors.toList());
      System.out.println(subset2);

      List<Integer> numbers = Stream.iterate(1, i -> i <= 10, i -> i+1)
                                    .collect(Collectors.toList());
      System.out.println(numbers);
   }
}

출력

[a, b, c, d]
[e, f, g, h, i]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]