Java中去除两个List中有id相同的元素
时间: 2024-10-16 07:03:55 浏览: 38
MyBatis框架的应用
在Java中,要去除两个List中有相同ID的元素,你可以使用多种方法,这里提供一种基于Set数据结构的解决方案,因为Set不允许有重复元素:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
// 添加一些元素到list1,例如 ID
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
// 添加一些元素到list2,包括可能存在与list1重复的ID
list2.add(2);
list2.add(4);
list2.add(5);
// 创建一个新的HashSet,用于存储唯一ID
Set<Integer> uniqueIds = new HashSet<>(list1);
// 遍历第二个列表,将不在HashSet中的元素添加到新的ArrayList中
List<Integer> result = new ArrayList<>();
for (int id : list2) {
if (!uniqueIds.contains(id)) {
result.add(id);
}
}
// 输出结果
System.out.println("去除重复后的列表: " + result);
}
}
```
在这个例子中,`result`列表会包含只有list2中存在的独特ID。如果需要保留原来的顺序,可以考虑使用LinkedHashSet替换HashSet。
阅读全文