sách gpt4 ai đã đi

java - Java 中列表的 AND/OR 运算

In lại 作者:行者123 更新时间:2023-12-03 03:18:03 33 4
mua khóa gpt4 Nike

让我们考虑两个数组列表。

ArrayList list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);

ArrayList list2 = new ArrayList();
list2.add(3);
list2.add(4);
list2.add(5);

我想在这些列表之间执行 AND 和 OR 运算。例如,在这里,当我执行黑白 list1 和 list2 的 AND 运算时,输出应该是一个仅包含 3 的列表当我执行黑白 list1 和 list2 的 OR 运算时,输出应该是包含 1,2,3,4,5 的列表(而不是 3 重复两次)。

Java有没有可能实现这个场景?在这种情况下我们可以使用 Java 8 Streams 吗?请给我最有效的方式来获得答案。

1 Câu trả lời

使用 Stream API:

List union = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());

List intersection = list1.stream()
.filter(list2::contains)
.collect(Collectors.toList());
<小时>

没有 Stream API:

List intersection = new ArrayList<>(list1);
intersection.retainAll(list2);

List union = new ArrayList<>(list1);
List toAdd = new ArrayList<>(list2);
toAdd.removeAll(list1); // avoid duplicates
union.addAll(toAdd);

关于java - Java 中列表的 AND/OR 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29297548/

33 4 0
Bài viết được đề xuất: ios8 - 在 iOS 8.0.2 上安装配置文件
Bài viết được đề xuất: asynchronous - 示例异步dart代码不起作用
Bài viết được đề xuất: generics - Dart 泛型类实例化
Bài viết được đề xuất: asp.net - 如何在asp.net中实现文件下载
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com