首頁 >Java >java教程 >Java 9中takewhile()和dropWhile()方法的差別是什麼?

Java 9中takewhile()和dropWhile()方法的差別是什麼?

WBOY
WBOY轉載
2023-09-01 20:57:031395瀏覽

Java 9中takewhile()和dropWhile()方法的区别是什么?

Stream API 的t#akewhile() 方法接受所有值,直到predicate # 傳回false,而 Stream API 的>dropWhile() 方法會刪除所有值,直到它與謂詞相符。如果流是有序的,則takewhile() 方法會傳回一個流,其中包含從此流中獲取的與謂詞匹配的元素的最長前綴,而dropWhile() 方法傳回符合謂詞後的剩餘流。如果流是無序的,則takewhile() 方法傳回一個流,該流由從與給定謂詞匹配的流中提取的元素子集組成,而dropWhile() 方法傳回刪除與給定謂詞相符的元素子集後,由流的剩餘元素組成的流。

takeWhile() 的語法

<strong>default Stream<T> takeWhile(Predicate<? super T><!--? super T--> predicate)</strong>

範例

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

輸出

<strong>IndiaAustraliaNewzealand
</strong>

dropWhile() 語法

<strong>default Stream<T> dropWhile(Predicate<? super T><!--? super T--> predicate)</strong>

範例

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

輸出

<strong>EnglandSrilanka
AustraliaEnglandSrilanka</strong>

以上是Java 9中takewhile()和dropWhile()方法的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除