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

Java 9의 Stream API에 추가된 새로운 기능은 무엇입니까?

<시간/>

Java 9에서 Oracle Corporation은 Stream 에 4가지 유용한 새 메서드를 추가했습니다. API . 이러한 메서드는 iterate()입니다. , ofNullable() , takeWhile()dropWhile( ).

반복()

반복() 기존 for-loops의 스트림 버전 대체로 사용할 수 있습니다. . 이 방법은 다른 매개변수인 Predicate 를 추가하여 개선되었습니다. 술어 로 정의된 조건에 따라 이러한 끝없는 숫자를 중지할 수 있는 인터페이스 인터페이스.

예시

import java.util.stream.Stream;
public class StreamIterateMethodTest {
   public static void main(String[] args) {
      Stream.iterate(1, i -> i < 5, i -> i + 1).forEach(System.out::println); // iterate()
   }
}

출력

1
2
3
4


ofNullable()

ofNullable() 메소드는 스트림 을 반환합니다. 개체 null이 아닌 경우 요소 . 그렇지 않으면 을 반환합니다. 스트림.

예시

import java.util.stream.Stream;
public class StreamOfNullableMethodTest {
   public static void main(String[] args) {
      String str = "TutorialsPoint";
      Stream.ofNullable(str).forEach(System.out::println);    // ofNullable() method
   }
}

출력

TutorialsPoint


takeWhile()

takeWhile()에 전달된 매개변수 메소드는 술어 입니다. 상호 작용. 이 메서드는 스트림 개체의 요소를 왼쪽에서 오른쪽으로 가져옵니다. 술어 조건까지 개체가 더 이상 이행되지 않습니다.

예시

import java.util.stream.Stream;
public class StreamTakeWhileMethodTest {
   public static void main(String[] args) {
      Stream.of(1, 2, 3, 4, 5)
         .takeWhile(i -> i < 5)         // takeWhile() method
         .forEach(System.out::println);
   }
}

출력

1
2
3
4


dropWhile()

dropWhile()에 전달된 매개변수 메소드는 술어 이기도 합니다. 상호 작용. takeWhile()과 반대입니다. 방법. 이 메서드는 스트림 개체의 각 요소를 왼쪽에서 오른쪽으로 전달합니다. 조건을 만족하는 모든 요소를 ​​무시합니다. 조건이 더 이상 충족되지 않으면 나머지 요소를 모두 반환해야 합니다.

예시

import java.util.stream.Stream;
public class StreamDropWhileMethodTest {
   public static void main(String[] args) {
      Stream.of(3, 2, 1, 4, 6, 7, 8, 9, 10)
            .dropWhile(i -> i < 5)     // dropWhile() method
            .forEach(System.out::println);
   }
}

출력

6
7
8
9
10