java8写一个将list中a的值不等于3或者5的数据skip掉的共通方法
时间: 2024-06-12 21:07:49 浏览: 10
可以使用Java 8的Stream API来实现:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = list.stream()
.filter(a -> a != 3 && a != 5) // 过滤掉a的值等于3或者5的元素
.collect(Collectors.toList()); // 将剩余的元素收集到一个新的List中
System.out.println(result); // 输出 [1, 2, 4]
```
上面的代码中,使用了`stream()`方法将List转换为Stream,然后使用`filter()`方法过滤掉a的值等于3或者5的元素,最后使用`collect()`方法将剩余的元素收集到一个新的List中。
如果想要对原有的List进行修改,可以使用`removeIf()`方法:
```java
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
list.removeIf(a -> a == 3 || a == 5); // 移除a的值等于3或者5的元素
System.out.println(list); // 输出 [1, 2, 4]
```
上面的代码中,使用了`removeIf()`方法移除a的值等于3或者5的元素。注意,这里需要使用`new ArrayList<>(list)`将原有的List复制一份,否则直接操作原有的List可能会导致ConcurrentModificationException异常。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)