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

Sự khác biệt giữa các phương thức take while () và dropWhile () trong Java 9?


t akenged () phương pháp Luồng API chấp nhận tất cả các giá trị cho đến khi vị từ trả về false trong khi dropWhile () phương pháp Luồng API giảm tất cả các giá trị cho đến khi nó khớp với vị từ . Nếu một luồng được sắp xếp theo thứ tự, thì lấy giá trị () phương thức trả về một luồng bao gồm tiền tố dài nhất trong số các phần tử được lấy từ luồng này khớp với vị từ trong khi dropWhile () phương thức trả về luồng còn lại sau khi khớp với vị từ. Nếu luồng không có thứ tự, thì lấy giá trị () phương thức trả về một luồng bao gồm một tập hợp con các phần tử được trích xuất từ ​​một luồng phù hợp với vị từ đã cho trong khi dropWhile () phương thức trả về một luồng bao gồm các phần tử còn lại của một luồng sau khi loại bỏ một tập hợp con các phần tử phù hợp với vị từ đã cho.

Cú pháp takeWhile ()

default Stream<T> takeWhile(Predicate<? super T> predicate)

Ví dụ

import java.util.stream.Stream;
public class TakeWhileMethodTest {
   public static void main(String args[]) {
      Stream.of("India", "Australia", "Newzealand", "", "South Africa", "England")
      .takeWhile(o->!o.isEmpty())
      .forEach(System.out::print);
   }
}

Đầu ra

IndiaAustraliaNewzealand


Cú pháp dropWhile ()

default Stream<T> dropWhile(Predicate<? super T> predicate)

Ví dụ

import java.util.stream.Stream;
public class DropWhileMethodTest {
   public static void main(String args[]) {
      Stream.of("India", "Australia", "Newzealand", "", "England", "Srilanka")
      .dropWhile(o->!o.isEmpty())
      .forEach(System.out::print);
      System.out.println();
      Stream.of("India", "", "Australia", "", "England", "Srilanka")
      .dropWhile(o->!o.isEmpty())
      .forEach(System.out::print);
   }
}

Đầu ra

EnglandSrilanka
AustraliaEnglandSrilanka