java8 list根据条件过滤
时间: 2023-07-20 22:13:24 浏览: 43
可以使用Java 8的Stream API来过滤List中的元素。假设我们有一个List<Person>,其中Person类具有属性name和age,我们想要过滤出年龄大于18岁的人,可以使用以下代码:
```
List<Person> people = ... // 初始化List<Person>
List<Person> filteredPeople = people.stream()
.filter(p -> p.getAge() > 18)
.collect(Collectors.toList());
```
这将创建一个新的List,其中包含所有年龄大于18岁的人。我们可以使用任何条件来过滤List中的元素,只需将条件作为lambda表达式传递给filter()方法即可。最后,我们使用collect()方法将过滤后的元素收集到一个新的List中。
相关问题
java中list根据条件转set
可以使用Java 8的流式编程来实现这个功能。具体步骤如下:
1. 使用stream()方法将List转换为Stream对象。
2. 使用filter()方法根据条件过滤元素。
3. 使用collect()方法将Stream转换为Set对象。
示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Set<Integer> set = list.stream()
.filter(i -> i > 3) // 过滤条件:大于3的元素
.collect(Collectors.toSet());
System.out.println(set); // 输出:[4, 5]
```
上述代码中,将List对象list转换为Stream对象,然后使用filter()方法过滤出大于3的元素,最后使用collect()方法将Stream转换为Set对象。
java8 过滤list
中的数据,你会怎么做?
可以使用java8中的stream方法对list进行过滤。示例代码如下所示:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
List<String> filteredList = list.stream()
.filter(s -> s.startsWith("a"))
.collect(Collectors.toList());
```
以上代码会将原始的list过滤出所有以"a"开头的元素,并将结果保存为一个新的list。