java list 过滤元素_java的List中使用filter过滤出符合特定条件的元素List
时间: 2023-12-10 13:38:51 浏览: 34
在Java中,可以使用Stream API来对List中的元素进行过滤。以下是一个示例代码:
假设我们有一个List<String>类型的列表,我们想要过滤出所有以字母“a”开头的字符串:
```java
List<String> list = Arrays.asList("apple", "banana", "orange", "avocado", "pear");
List<String> filteredList = list.stream()
.filter(str -> str.startsWith("a"))
.collect(Collectors.toList());
System.out.println(filteredList);
```
输出结果为:[apple, avocado]
这里我们使用了Stream的filter方法来过滤出符合条件的元素,并使用collect方法将结果转换为List类型的对象。
除了startsWith方法,还可以使用其他的过滤条件,比如contains方法、正则表达式等等。具体可根据需求来选择合适的方法。
相关问题
java list filter出不符合条件的元素
可以使用 Java 8 的 Stream API 中的 filter 方法来过滤 List 中不符合条件的元素。具体实现可以参考以下代码:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> filteredList = list.stream()
.filter(i -> i % 2 == 0) // 过滤出偶数
.collect(Collectors.toList());
System.out.println(filteredList); // 输出 [2, 4, 6, 8, 10]
这段代码会将 List 中所有的偶数过滤出来,最终返回一个新的 List。
java 从list集合中过滤出一个符合条件的结果,
要从一个List集合中过滤出符合条件的结果,可以使用Java 8引入的Stream API中的filter()方法。下面是一个示例代码:
假设我们有一个List<Person>的集合,现在我们要从中过滤出年龄大于18岁的人,可以这样写:
```java
List<Person> personList = ... ; // 假设这个List中有很多Person对象
List<Person> filteredList = personList.stream()
.filter(p -> p.getAge() > 18)
.collect(Collectors.toList());
```
上面的代码中,我们使用了Stream API的filter()方法,它接收一个Lambda表达式作为参数,Lambda表达式中的代码会被应用到Stream中的每个元素上。在这个例子中,Lambda表达式使用了Person对象的getAge()方法来判断该对象是否符合条件(年龄大于18岁),如果符合条件,那么就会被保留下来,否则就会被过滤掉。最终,我们使用Stream API中的collect()方法将过滤后的结果收集到一个新的List集合中。