Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Java 8 中的炫酷特性和 Java 9 中的新特性 PDF 下载


分享到:
时间:2020-07-18 19:06来源:http://www.java1234.com 作者:小锋  侵权举报
Java 8 中的炫酷特性和 Java 9 中的新特性 PDF 下载
失效链接处理
Java 8 中的炫酷特性和 Java 9 中的新特性 PDF 下载

 
本站整理下载:
提取码:xueb 
 
 
相关截图:
 
主要内容:

从行为进行抽象
“命题: 如何从人员信息的集合里删除所有超过18岁的人?” 
Collection<Person> peoples = ...;
for (Person p : peoples){
if (p.getAge() > 18)
?? How do we remove this person ???
}
Collection<Person> peoples = ...;
Iterator<Person> it = peoples.iterator();
while (it.hasNext()) {
Person p = it.next();
if (p.getAge() > 18)
it.remove();
}
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 
进一步抽象
interface Predicate<T> { 
boolean test(T t);
}
class Collections {
public static<T> 
void removeMatching(Collection<T> coll, 
Predicate<T> pred) { 
...
} }
The API Designer
Could create methods in the 
collection
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 
Collection<Person> peoples = ...;
Collections.removeMatching(peoples, 
new Predicate<Person>() {
public boolean test(Person p) {
return p.getAge() > 18; } } });
修改后的实现 But the code to use the new 
method would be bloated
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 
使用Java SE 8
• Interface Collection<E> – removeIf(Predicate<? super E> filter)
10
// 简化版
Collection<Person> peoples = ...;
peoples.removeIf(p -> p.getAge() > 18);

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐