栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDK8新特性

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDK8新特性

函数式接口					参数类型		返回类型			方法
消费型	Consumer  		T			void			void accept(T t);
供给型	Supplier			无			T				T get();
函数型	Function		T			R				R apply(T t);
断言型	Predicate		T			boolean			boolean test(T t);

增强版消费型
	BiConsumer			T,U			void			void accpet(T t, U u);
函数型子接口
	UnaryOperator		T			T				T apply(T t);
增强版函数型
	BiFunction		T,U			R				R apply(T t, U u);
BiFunction子接口
	BinaryOperator			T,T			T				T apply(T t1, T t2);
增强版断言型
	BiPredicate		T,U			boolean			boolean test(T t, U u);
Stream流:

中间操作:筛选与切片
filter(Predicate p)
	接收Lambda ,从流中排除某些元素。
distinct()
	筛选,通过流所生成元素的hashCode()和equals()去除重复元素。
limit(long maxSize)
	截断流,使其元素不超过给定数量。
skip(long n)
	跳过元素,返回一个扔掉了前n个元素的流。若流中元素不足n个,则返回一个空流。与limit(n)互补。

中间操作:映射
map(Function f)---->效果如:list1.add(list2);	
	接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。
mapToLong(ToLongFunction f)
	接收一个函数作为参数,该函数会被应用到每个元素上,产生一个新的LongStream。
flatMap(Function f)---->效果如:list1.addAll(list2);
	接收一个函数作为参数,将流中的每个值都换成另一个流,然后把所有流连接成一个流。

中间操作:排序
sorted()				产生一个新流,其中按自然顺序排序(排序的元素要实现comparable接口)。
sorted(Comparator com)	产生一个新流,其中按比较器顺序排序。

终止操作:匹配与查找
allMatch(Predicate p)	检查是否匹配所有元素
anyMatch(Predicate p)	检查是否至少匹配一个元素
noneMatch(Predicate p)	检查是否没有匹配所有元素
findFirst()				返回第一个元素
findAny()				返回当前流中的任意元素
count()					返回流中元素总数
max(Comparator c)		返回流中最大值
min(Comparator c)		返回流中最小值
forEach(Consumer c)		内部迭代

终止操作:归约,通常和map连接使用map-reduce
reduce(T iden, BinaryOperator b)	可以将流中元素反复结合起来,得到一个值。返回T。
reduce(BinaryOperator b)			以将流中元素反复结合起来,得到一个值。返回Optional。

终止操作:收集
collect(Collector c)		将流转换为其他形式。接收一个Collector接口的实现。
	Collector 接口中方法的实现决定了如何对流执行收集的操作(如收集到List、Set、Map)。
	Collectors实用类提供了很多静态方法,可以方便地创建常见收集器实例。
Optional类:

创建Optional类对象的方法:
	Optional.of(T t)			创建一个Optional 实例,t必须非空;
	Optional.empty()			创建一个空的Optional 实例
	Optional.ofNullable(T t)	t可以为null
判断Optional容器中是否包含对象:
	boolean isPresent() : 判断是否包含对象。
	void ifPresent(Consumer consumer) :如果有值,就执行Consumer接口的
	实现代码,并且该值会作为参数传给它。
获取Optional容器的对象:
	T orElse(T other) :如果有值则将其返回,否则返回指定的other对象。
	T get(): 如果调用对象包含值,返回该值,否则抛异常。
	T orElseGet(Supplier other) :如果有值则将其返回,否则返回由Supplier
	接口实现提供的对象。
	T orElseThrow(Supplier exceptionSupplier) :如果有值则将其返回,否则
	抛出由Supplier接口实现提供的异常。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号