Java Lambda 筛选 filter
public class Menu {
/**
* 菜品名称
*/
private String name;
/**
* 菜品单价
*/
private Double price;
/**
* 菜品斤数
*/
private Double kilo;
/**
* 菜品类型:蔬菜、水果、肉类
*/
private String type;
public Menu() {
}
public Menu(String name, Double price, Double kilo, String type) {
super();
this.name = name;
this.price = price;
this.kilo = kilo;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Double getKilo() {
return kilo;
}
public void setKilo(Double kilo) {
this.kilo = kilo;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
Menu pork = new Menu("猪肉", 9.9, 10.0, "肉类");
Menu beef = new Menu("牛肉", 38.8, 5.0, "肉类");
Menu chicken = new Menu("鸡肉", 6.5, 30.0, "肉类");
Menu tomato = new Menu("土豆", 3.5, 30.0, "蔬菜");
Menu potato = new Menu("西红柿", 7.5, 20.0, "蔬菜");
Menu apple = new Menu("苹果", 3.5, 20.0, "水果");
Menu orange = new Menu("橙子", 4.0, 20.0, "水果");
List<Menu> menuList = Arrays.asList(pork, beef, chicken, tomato, potato, apple, orange);
//筛选
List<Menu> fruitsMenuList = menuList.stream().filter(menu -> menu.getType().equals("水果")).collect(Collectors.toList());
fruitsMenuList.forEach(fruitMenu -> {
System.out.println(fruitMenu.getName());
});
//苹果
//橙子