List<String> A = Arrays.asList("123","234","345","456"); List<String> B = Arrays.asList("123","234","333","456"); 过滤A中不包含B的 java Stream流 代码
时间: 2023-07-06 19:37:53 浏览: 105
可以使用Java 8中的Stream API来过滤A中不包含B的元素。具体实现代码如下:
```
List<String> A = Arrays.asList("123","234","345","456");
List<String> B = Arrays.asList("123","234","333","456");
List<String> result = A.stream()
.filter(a -> !B.contains(a))
.collect(Collectors.toList());
```
这里使用了`Stream.filter()`方法对A中的元素进行过滤,保留不包含在B中的元素。最后使用`Collectors.toList()`方法将过滤后的结果转换为List类型并返回。
相关问题
List<String> list = Arrays.asList(arr);Arrays报错 List<String> list = Arrays.asList(arr); List<String> list = Arrays.asList(arr);
Arrays.asList()方法返回的是一个固定大小的List,不能进行添加或删除操作,只能进行修改操作。如果你想要一个可变的List,可以使用java.util.ArrayList来代替Arrays.asList()方法返回的List。如果你使用Arrays.asList()方法将int[]转成ArrayList,会出现类型不匹配的错误,因为Arrays.asList()方法只能将数组转换为List<Object>类型,而int[]是一个基本数据类型,不是一个对象。如果你想要将int[]转换为List<Integer>类型的ArrayList,可以使用Java 8中的IntStream来实现,例如:
```java
int[] arr = {1, 2, 3};
List<Integer> list = IntStream.of(arr).boxed().collect(Collectors.toList());
```
list<string> initlist = arrays.aslist
“list<string> initlist = arrays.asList” 是一句Java代码,用于初始化一个包含字符串元素的列表。它的作用是将一个字符串数组转化为一个具有相同元素的列表对象。
在这个代码中,"list<string>" 表示这是一个泛型列表(List),其中存储的元素类型是字符串(String)。
"initlist" 是我们给这个列表对象起的变量名,可以根据需求自由命名。
"arrays.asList" 是引用了Java的Arrays类中的一个静态方法,即asList方法。这个方法的作用是将一个数组转换为一个固定长度的列表。
示例代码如下:
```java
import java.util.List;
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
String[] strArray = {"apple", "banana", "orange"};
List<String> initlist = Arrays.asList(strArray);
System.out.println(initlist); // 打印列表元素
}
}
```
在上述示例代码中,我们定义了一个字符串数组strArray,包含了三个元素"apple"、"banana"和"orange"。
然后,我们将这个数组通过Arrays.asList方法转化成了一个列表对象,并将它赋值给了initlist变量。
最后,我们打印输出了这个列表对象的元素,即["apple", "banana", "orange"]。
需要注意的是,通过Arrays.asList方法得到的列表是一个固定长度的列表,也就是说不能进行增删元素的操作。如果尝试进行增删操作,会抛出UnsupportedOperationException异常。如果需要对元素进行增删操作,可以考虑将这个固定长度的列表转化为一个可变长度的列表,例如ArrayList。
阅读全文