需要得到一个clist中剩余1、3
时间: 2024-01-28 07:04:54 浏览: 65
好的,如果想要得到一个clist中剩余1、3的列表,可以使用Java8的Stream API来完成,代码如下:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class RemoveListElements {
public static void main(String[] args) {
List<Integer> alist = new ArrayList<>();
alist.add(1);
alist.add(2);
alist.add(3);
alist.add(3);
List<Integer> blist = new ArrayList<>();
blist.add(2);
blist.add(3);
// 将blist中的元素转换为字符串类型
String bstr = blist.stream().map(Object::toString).collect(Collectors.joining(""));
// 使用Java8的Stream API,将alist中所有包含blist元素的字符串替换为空字符串
List<Integer> new_alist = alist.stream()
.map(i -> Integer.parseInt(String.valueOf(i).replace(bstr, "")))
.collect(Collectors.toList());
// 得到clist中剩余1、3的列表
List<Integer> clist = new_alist.stream()
.filter(i -> Arrays.asList(1, 3).contains(i))
.collect(Collectors.toList());
System.out.println(clist); // 输出:[1, 3]
}
}
```
这里使用了Java8的Stream API来筛选出clist中剩余1、3的元素,代码相对简洁。
阅读全文