jdk8 list 过滤并赋值
时间: 2023-12-29 17:04:43 浏览: 32
在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变量。
相关问题
jdk8 list排序
在 JDK 8 中,可以使用 `List` 的 `sort` 方法来对列表进行排序。`sort` 方法接受一个 `Comparator` 对象作为参数,用于指定排序的规则。
以下是一个示例代码,展示如何在 JDK 8 中对一个 `List` 进行排序:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(10);
numbers.add(1);
numbers.add(8);
// 使用 sort 方法进行排序
numbers.sort(Comparator.naturalOrder());
System.out.println(numbers); // 输出:[1, 2, 5, 8, 10]
}
}
```
在这个示例中,我们创建了一个 `List` 对象 `numbers`,并添加了一些整数。然后,我们使用 `sort` 方法对 `numbers` 进行排序,通过 `Comparator.naturalOrder()` 指定自然排序(升序)。最后,我们打印排序后的列表,输出为 `[1, 2, 5, 8, 10]`。
你可以根据具体的需求实现自定义的比较器,来实现按照不同的规则进行排序。
Jdk17实现list过滤
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过滤。