Stream 获取集合中符合条件的数据

时间:2025-02-17 20:58:26
public class Stream8 { public static void main(String[] args) { List<Animal> animalList = getAnimalTest(); List<String> list = Lists.newArrayList(); List<Animal> animals=Lists.newArrayList(); list.add("1001"); list.add("1002"); list.add("1003"); for (String str:list){ animals.addAll(animalList.stream().filter(p ->p.getNumber().equals(str)).collect(Collectors.toList())); } System.out.println(JSONObject.toJSONString(animals)); } public static List<Animal> getAnimalTest(){ List<Animal> animals= Lists.newArrayList(); Animal animal1=new Animal("1001","小猫",1,"捉老鼠"); Animal animal2=new Animal("1002","小狗",2,"看家"); Animal animal3=new Animal("1003","小猪",2,"睡觉"); Animal animal4=new Animal("1004","鱼",2,"游泳"); Animal animal5=new Animal("1005","松鼠",1,"上树"); Animal animal6=new Animal("1006","小鸟",1,"偷东西"); animals.add(animal1); animals.add(animal2); animals.add(animal2); animals.add(animal3); animals.add(animal4); animals.add(animal5); animals.add(animal6); return animals; } } class Animal{ //编号 private String number; //名称 private String name; //年龄 private Integer age; //本领 private String ability; public Animal() { } public Animal(String number, String name, Integer age, String ability) { this.number = number; this.name = name; this.age = age; this.ability = ability; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getAbility() { return ability; } public void setAbility(String ability) { this.ability = ability; } }