java中的.take()_Java 9中的takewhile()和dropWhile()方法之间的区别?

Stream API的t akewhile()方法接受所有值,直到谓词返回false为止,而Stream API的dropWhile()方法丢弃所有值,直到它与谓词匹配为止。如果对流进行了排序,则takewhile()方法将返回一个流,该流由从该流中获取的,与谓词匹配的元素的最长前缀组成,而dropWhile()方法将在匹配谓词后返回剩余的流。如果流是无序的,则takewhile()方法返回由从与给定谓词匹配的流中提取的元素子集组成的流,而dropWhile()方法在删除与给定谓词匹配的元素子集后返回由流的其余元素组成的流。

的语法 takeWhile()default Stream takeWhile(Predicate super T> predicate)

示例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);

}

}

输出结果IndiaAustraliaNewzealand

的语法 dropWhile()default Stream dropWhile(Predicate super T> predicate)

示例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);

}

}

输出结果EnglandSrilanka

AustraliaEnglandSrilanka

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值