Java8 过滤 List 对象集合并赋值给原集合 - 使用 Stream 和 filter 操作
假设有一个 List<Person> 对象集合,需要根据某个条件过滤并赋值给原先的对象集合,可以使用 Java8 的流 (Stream) 和过滤操作 (filter) 来实现。\n\n假设 Person 类的定义如下:\n\njava\npublic class Person {\n private String name;\n private int age;\n\n // 省略构造方法和 getter/setter 方法\n}\n\n\n现在有一个 List<Person> 对象集合,需要根据年龄大于等于 18 岁的条件进行过滤,并将过滤后的结果赋值给原先的对象集合。可以按照以下步骤实现:\n\n1. 创建一个新的 List<Person> 对象集合,用于保存过滤后的结果。\n\njava\nList<Person> filteredList = new ArrayList<>();\n\n\n2. 使用流 (Stream) 操作对原先的对象集合进行过滤,并将过滤后的结果添加到新的集合中。\n\njava\nfilteredList = originalList.stream()\n .filter(person -> person.getAge() >= 18)\n .collect(Collectors.toList());\n\n\n在上述代码中,使用 filter 方法对原先的对象集合进行过滤,过滤条件为年龄大于等于 18 岁。然后使用 collect 方法将过滤后的结果收集到新的集合中。\n\n3. 将新的集合赋值给原先的对象集合。\n\njava\noriginalList = filteredList;\n\n\n最后,将新的集合赋值给原先的对象集合,完成过滤并赋值的操作。\n\n完整的示例代码如下:\n\njava\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\npublic class Main {\n public static void main(String[] args) {\n List<Person> originalList = new ArrayList<>();\n originalList.add(new Person("Alice", 20));\n originalList.add(new Person("Bob", 25));\n originalList.add(new Person("Charlie", 17));\n\n List<Person> filteredList = new ArrayList<>();\n filteredList = originalList.stream()\n .filter(person -> person.getAge() >= 18)\n .collect(Collectors.toList());\n\n originalList = filteredList;\n\n System.out.println(originalList);\n }\n}\n\n\n运行以上代码,输出结果为:\n\n\n[Person{name='Alice', age=20}, Person{name='Bob', age=25}]\n\n\n可以看到,原先的对象集合经过过滤后,只剩下年龄大于等于 18 岁的 Person 对象。
原文地址: https://www.cveoy.top/t/topic/pPEc 著作权归作者所有。请勿转载和采集!