做商城网站需要备案什么域名,硬件开发工具有哪些,做的新网站网上搜不到,做爰网站下载地址Java 8 Stream接口引入了filter()方法#xff0c;该方法可用于根据特定条件从对象集合中过滤掉某些元素。 应将此条件指定为filter()方法接受为参数的谓词 。 java.util.function.Predicate接口定义了一个名为test()的抽象方法#xff0c;该方法接受通用类型T的对象并返回一… Java 8 Stream接口引入了filter()方法该方法可用于根据特定条件从对象集合中过滤掉某些元素。 应将此条件指定为filter()方法接受为参数的谓词 。 java.util.function.Predicate接口定义了一个名为test()的抽象方法该方法接受通用类型T的对象并返回一个布尔值。 让我们进行一些编码以更清楚地了解过滤器方法。 请看以下菜式。 public class Dish {private String name;private Boolean vegitarian;private Integer calaries;private Type type;public Dish(String name, Boolean vegitarian, Integer calaries, Type type) {super();this.name name;this.vegitarian vegitarian;this.calaries calaries;this.type type;}public Boolean getVegitarian() {return vegitarian;}public void setVegitarian(Boolean vegitarian) {this.vegitarian vegitarian;}public Type getType() {return type;}public void setType(Type type) {this.type type;}public enum Type { MEAT, FISH, OTHER };
} 考虑一下我们只想从所有菜肴列表中过滤掉素食菜肴。 以下是Java 8之前的方法。 ListDish vegetarianDishes new ArrayListDish(); for(Dish d: menu) {if(d.getVegetarian()) { vegetarianDishes.add(d);} } 上面的方法称为外部迭代我们通过数据集合显式管理迭代。 如何使用Java 8做到这一点 只需如下一行即可。 ListDish menu ....
ListDish vegitarianDishes menu.stream().filter(d - d.getVegitarian()).collect(Collectors.toList()); 我们已经以Lambda表达式的形式将Predicate实例传递给filter()方法。 另外我们可以使用Java 8方法引用将谓词实例传递给filter()方法如下所示。 ListDish menu ....
ListDish vegitarianDishes menu.stream().filter(Dish::getVegitarian).collect(Collectors.toList()); Dish::getVegitarian是Java 8方法引用的语法。 它指的是Dish类的getVegitarian()方法。 filter()方法返回菜肴流而collect()方法将流转换为列表。 “收集”操作称为终端操作。 现在让我们说我们要获取前三个包含300多个卡路里的菜肴。 流支持limit(n)方法该方法返回另一个不超过给定大小的流。 请求的大小作为参数传递给limit。 ListDish menu ....
ListDish threeHighCalaricDish menu.stream().filter(d - d.getCalaries() 300).limit(3).collect(Collectors.toList()); 同样如果我们要跳过前3个元素则流支持skip(n)方法以返回丢弃前n个元素的流。 如果流中的元素少于n个则返回空流。 注意limit(n)和skip(n)是互补的 现在为您做运动 您将如何使用流过滤前两个肉类菜肴 ListDish menu ....
ListDish meatDishes menu.stream().filter(d - d.getType() Dish.Type.MEAT).limit(2).collect(Collectors.toList())翻译自: https://www.javacodegeeks.com/2018/07/filter-method-java-8.html