Computer >> Máy Tính >  >> Lập trình >> Java

Các tính năng mới được thêm vào API Stream trong Java 9 là gì?

Trong Java 9, Tập đoàn Oracle đã thêm bốn phương pháp mới hữu ích vào Luồng API . Các phương thức đó là iterate () , ofNullable () , takeWhile () dropWhile ( ).

iterate ()

iterate () có thể được sử dụng làm phiên bản luồng thay thế cho vòng for truyền thống . Phương pháp này đã được cải thiện bằng cách thêm một tham số khác, Vị từ giao diện cho phép chúng tôi dừng những con số vô tận này dựa trên các điều kiện được xác định với Vị từ giao diện.

Ví dụ

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()
   }
}

Đầu ra

1
2
3
4


ofNullable ()

ofNullable () phương thức trả về luồng đối tượng của một phần tử nếu nó không phải null . Nếu không, nó trả về trống luồng.

Ví dụ

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
   }
}

Đầu ra

TutorialsPoint


takeWhile ()

Tham số được truyền cho takeWhile () phương thức là một Vị từ giao diện. Phương thức này nhận một phần tử của đối tượng luồng từ l eft sang phải cho đến điều kiện của Vị từ đối tượng không còn được đáp ứng.

Ví dụ

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);
   }
}

Đầu ra

1
2
3
4


dropWhile ()

Tham số được truyền đến dropWhile () phương thức cũng là một Vị từ giao diện. Nó đối lập với takeWhile () phương pháp. Phương thức này chuyển từng phần tử trong đối tượng luồng từ trái sang phải và bỏ qua tất cả các phần tử thỏa mãn điều kiện. Khi điều kiện không còn được đáp ứng, tất cả các phần tử còn lại sẽ trả về.

Ví dụ

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);
   }
}

Đầu ra

6
7
8
9
10