在 Java 中,求两个 List 的交集元素可以通过多种方式实现。常见的做法包括使用 retainAll 方法、Stream API 或手动遍历。以下是这些方法的原理和实现:
1. 使用 retainAll 方法
retainAll 是 Collection 接口中的一个方法,用于保留集合中与指定集合相同的元素,移除其他元素。
原理:
retainAll方法会遍历当前集合,并检查每个元素是否存在于指定集合中。- 如果元素不存在于指定集合中,则从当前集合中移除该元素。
- 最终,当前集合只保留与指定集合相同的元素。
retainAll 是 Java 中 List 接口提供的一个方法,用于保留列表中与指定集合中相同的元素,移除其他所有元素。换句话说,retainAll 方法会修改当前列表,使其仅包含与指定集合中相同的元素。
方法定义
boolean retainAll(Collection<?> c);
参数:
c:包含需要保留元素的集合。
返回值:
- 如果列表因调用此方法而发生变化,则返回
true。 - 如果列表未发生变化(即列表已经只包含指定集合中的元素),则返回
false。
方法行为
- 保留交集:
retainAll方法会保留当前列表与指定集合的交集。 - 移除其他元素:当前列表中不在指定集合中的元素会被移除。
- 修改原列表:
retainAll方法会直接修改当前列表,而不是返回一个新的列表。
示例代码
以下是一个简单的示例,展示 retainAll 方法的使用:
import java.util.ArrayList;
import java.util.List;
public class RetainAllExample {
public static void main(String[] args) {
// 创建两个列表
List<String> list1 = new ArrayList<>();
list1.add("Apple");
list1.add("Banana");
list1.add("Cherry");
list1.add("Date");
List<String> list2 = new ArrayList

最低0.47元/天 解锁文章
631

被折叠的 条评论
为什么被折叠?



