如何去除两个 List 中重复的元素,保留各自不同的元素?

本文将展示如何使用 Java 和 伪代码从两个 List 中去除重复元素,并保留各自不同的元素。

Java 代码实现

List<String> list1 = new ArrayList<>(Arrays.asList('A', 'C', 'B', 'H', 'F', ''));
List<String> list2 = new ArrayList<>(Arrays.asList('C', 'D', 'F', 'G', 'R', 'B'));

// 去除 list1 中与 list2 中相同的元素
list1.removeAll(list2);

// 去除 list2 中与 list1 中相同的元素
list2.removeAll(list1);

System.out.println(list1); // 输出:[A, H, ]
System.out.println(list2); // 输出:[D, G, R]

伪代码实现

list1 = ['A', 'C', 'B', 'H', 'F', '']
list2 = ['C', 'D', 'F', 'G', 'R', 'B']

for element in list1:
    if element in list2:
        list1.remove(element)

for element in list2:
    if element in list1:
        list2.remove(element)

print(list1) # 输出:['A', 'H', '']
print(list2) # 输出:['D', 'G', 'R']

解释

Java 代码 利用了 removeAll() 方法,该方法会从第一个 List 中移除所有出现在第二个 List 中的元素。

伪代码 则通过遍历两个 List,判断元素是否在另一个 List 中,如果存在则移除。

两种方法都能达到去除重复元素并保留不同元素的效果。选择哪种方法取决于具体情况,比如 Java 代码更加简洁,而伪代码更容易理解。

总结

本文介绍了使用 Java 和 伪代码去除两个 List 中重复元素的方法,并提供了详细的代码示例和解释,希望对读者有所帮助。


原文地址: https://www.cveoy.top/t/topic/j8rL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录