🎉 带你正确的使用List的retainAll方法求交集 🎉
科技
2025-03-18 11:01:46
导读 在编程中,`retainAll()` 是一个非常实用的方法,尤其当你需要求两个列表的交集时。简单来说,`retainAll()` 会保留当前列表中与指定集合...
在编程中,`retainAll()` 是一个非常实用的方法,尤其当你需要求两个列表的交集时。简单来说,`retainAll()` 会保留当前列表中与指定集合相同的元素,移除其他所有元素。这种方法简洁高效,但初学者可能会遇到一些小坑。
首先,确保你的列表是 `ArrayList` 类型,因为 `retainAll()` 是基于集合的操作。假设我们有两个列表:`list1 = [1, 2, 3, 4]` 和 `list2 = [3, 4, 5, 6]`。通过 `list1.retainAll(list2)`,`list1` 将变为 `[3, 4]`,这就是它们的交集!✨
需要注意的是,`retainAll()` 会直接修改原列表。如果你不想改变原始数据,可以先创建一个副本:`newList = new ArrayList<>(list1)`。这样,`newList.retainAll(list2)` 只会影响副本,而不会破坏原始数据。
此外,`retainAll()` 对对象类型同样适用。只要重写了 `equals()` 方法,它就能正确判断对象是否相同。💡
掌握这个技巧后,你会发现处理集合变得更加得心应手!💪