Jdk17实现list过滤
时间: 2023-05-28 20:03:16 浏览: 125
Java 17中使用Stream API可以很方便地实现List过滤。
假设我们有一个List<Person>,其中Person类包含属性name和age,现在需要过滤出年龄大于等于18岁的人,可以按照如下方式实现:
```
List<Person> personList = ... // 初始化List<Person>
List<Person> filteredList = personList.stream()
.filter(p -> p.getAge() >= 18)
.collect(Collectors.toList());
```
上述代码使用stream()方法将List转换为Stream,然后使用filter()方法筛选出符合条件的元素,最后使用collect()方法将Stream转换为List。
可以看到,使用Stream API可以很方便地实现List过滤。
相关问题
jdk8 list 过滤并赋值
在JDK8中,可以使用stream()和filter()方法来过滤List中的元素,并将过滤后的结果赋值给一个新的List。具体实现方法如下所示:
```
List<User> userList = new ArrayList<>();// 假设userList中有多个User对象
List<User> filteredList = userList.stream().filter(user -> !user.getJobNumber().equals("201901")).collect(Collectors.toList());
```
上述代码中,我们首先创建了一个名为userList的List对象,并向其中添加了多个User对象。然后,我们使用stream()方法将List转换为Stream对象,接着使用filter()方法过滤掉工号为"201901"的User对象,最后使用collect()方法将过滤后的结果转换为List对象并赋值给filteredList变量。
java获取集合中的指定元素然后list存起来用jdk1.8实现
好的,可以使用 Java 8 中的 Stream API 来实现。假设你要获取集合 set 中的元素 "a"、"b" 和 "c",然后将它们存储在列表 list 中,可以使用以下代码:
```
Set<String> set = new HashSet<>(Arrays.asList("a", "b", "c", "d", "e"));
List<String> list = set.stream()
.filter(x -> Arrays.asList("a", "b", "c").contains(x))
.collect(Collectors.toList());
System.out.println(list);
```
这段代码首先创建了一个集合 set,其中包含了一些元素。然后使用 Stream API 中的 filter() 方法过滤出符合条件的元素,最后使用 collect() 方法将过滤后的元素收集到一个新列表 list 中。
注意,这里的 Arrays.asList("a", "b", "c") 创建了一个包含指定元素的列表,然后使用 contains() 方法来判断元素是否在该列表中。如果需要获取的元素比较多,可以先将它们存储在一个集合中,然后在 filter() 方法中使用该集合进行判断。
另外,由于 Stream API 是 Java 8 中新增的功能,所以需要使用 JDK 1.8 或更高版本才能使用。