Stream API の takewhile() メソッドは、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 中国語 Web サイトの他の関連記事を参照してください。