List<String> A=Arrays.asList("1","3","5","2","7"); List<String> B =Arrays.asList("1","6","4","2" "9");得到:resultA ={"3" "5" "7"} resultB = {"6" "4" "9"}
时间: 2023-07-03 21:22:48 浏览: 169
java中对ArrayList进行排序
5星 · 资源好评率100%
可以使用 Java 8 的 Stream API,将两个列表 A 和 B 转换为 Set,然后使用 Set 的差集操作,来得到结果 resultA 和 resultB。
具体实现代码如下:
```
List<String> A = Arrays.asList("1", "3", "5", "2", "7");
List<String> B = Arrays.asList("1", "6", "4", "2", "9");
Set<String> setA = new HashSet<>(A);
Set<String> setB = new HashSet<>(B);
Set<String> diffA = setA.stream().filter(e -> !setB.contains(e)).collect(Collectors.toSet());
Set<String> diffB = setB.stream().filter(e -> !setA.contains(e)).collect(Collectors.toSet());
List<String> resultA = new ArrayList<>(diffA);
List<String> resultB = new ArrayList<>(diffB);
System.out.println(resultA); // 输出 [3, 5, 7]
System.out.println(resultB); // 输出 [4, 6, 9]
```
注意,上述代码中的 `Arrays.asList()` 方法只是用来初始化列表的一种简便方法,它返回的是一个不可变的列表,如果需要修改列表中的元素,可以将其转换为可变的列表,如 `new ArrayList<>(A)`。
阅读全文