Java 9中的takewhile()和dropWhile()方法之间的区别?
Stream API的takewhile() 方法接受所有值,直到谓词 返回false为止,而Stream API的dropWhile()方法丢弃所有值,直到它与谓词匹配为止。如果对流进行了排序,则takewhile()方法将返回一个流,该流由从该流中获取的,与谓词 匹配的元素的最长前缀 组成,而dropWhile()方法将在匹配谓词后返回剩余的流。如果流是无序的,则takewhile()方法返回由从与给定谓词匹配的流中提取的元素子集组成的流,而dropWhile()方法在删除与给定谓词匹配的元素子集后返回由流的其余元素组成的流。
的语法takeWhile()
default Stream<T> 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<T> 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 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短