import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import java.util.logging.Filter; public class 函数式接口 { public static void main(String[] args) {
List<Apple> apples = Arrays.asList(new Apple("red", 10),
new Apple("green", 20), new Apple("red", 16));
List<Apple> apples1 = filterApple(apples, apple -> (apple.color).equals("red") && apple.size>10);
apples1.stream().forEach(System.out::print);
}
public static List<Apple> filterApple(List<Apple> list,Predicate<Apple> predicate){
List<Apple> list1 = new ArrayList<>();
for (Apple apple : list) {
if(predicate.test(apple)){
list1.add(apple);
}
}
return list1;
}
} class Apple {
String color;
int size; @Override
public String toString() {
return "Apple{" +
"color='" + color + '\'' +
", size=" + size +
'}';
} public Apple(String color, int size) {
this.color = color;
this.size = size;
} public String getColor() {
return color;
} public void setColor(String color) {
this.color = color;
} public int getSize() {
return size;
} public void setSize(int size) {
this.size = size;
}
}

最新文章

  1. SQLite剖析之数据类型
  2. Ubuntu下的MySQL安装
  3. ORACLE执行详解
  4. C++基础知识易错点总结(2)
  5. Android开发之详解五大布局
  6. Android软件测试Monkey测试工具
  7. C#6.0语法糖剖析(一)
  8. 使用VisualStudio2010创建C#应用程序
  9. hive中sql解析出对应表和字段的调查
  10. 蚁群算法 matlab程序(已执行)
  11. Android - 分享内容
  12. Claris and XOR
  13. PHP 递归实现层级树状展现数据
  14. __call()和__callStatic()实例详解
  15. C++数组做参数
  16. Cisco 关闭命令同步提示信息
  17. spark-MLlib之线性回归
  18. 微信小程序一些demo链接地址
  19. mac使用brew安装mysql
  20. js实现随机的四则运算题目(2)-更新界面

热门文章

  1. Python 之pyinstaller模块打包成exe文件
  2. [树链剖分]BZOJ3589动态树
  3. 【多线程与并发】Java中的12个原子操作类
  4. [转]重命名PostgreSQL数据库
  5. OpenCV 3.4.2 环境搭建(适用于Ubuntu 一键安装)
  6. [String]两个右补空格使字符串达到固定长度的函数 来自网上 请君自取
  7. android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)
  8. flutter DropdownButton使用
  9. osg编译日志
  10. 转 zabbix 优化方法 以及 后台数据库查询方法 两则