合并并去重Java中的两个List值

在Java中,我们经常会遇到需要合并两个List,并且去除重复值的情况。这种情况下,我们可以使用一些方法来达到我们的目的。本文将介绍如何使用Java来合并两个List并去重,以及一些常用的方法。

合并两个List

在Java中,合并两个List非常简单。我们可以使用addAll()方法来实现这个目的。这个方法会将一个List中的所有元素添加到另一个List中。

List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");

List<String> list2 = new ArrayList<>();
list2.add("B");
list2.add("C");

list1.addAll(list2);
System.out.println(list1); // [A, B, B, C]

在上面的代码中,我们先创建了两个List,然后使用addAll()方法将list2中的所有元素添加到list1中,最终得到一个包含所有元素的List。

去除重复值

要去除List中的重复值,我们可以使用Set来帮助我们实现这个目的。Set是一种不允许重复元素的集合,我们可以将List转换为Set,然后再转换回List,就可以去除重复值。

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("B");
list.add("C");

Set<String> set = new HashSet<>(list);
List<String> newList = new ArrayList<>(set);
System.out.println(newList); // [A, B, C]

在上面的代码中,我们先创建了一个包含重复值的List,然后将其转换为Set,再将Set转换为List,最终得到一个没有重复值的List。

合并并去重

现在我们来结合上面的两个步骤,实现合并两个List并去除重复值的功能。

List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");

List<String> list2 = new ArrayList<>();
list2.add("B");
list2.add("C");

Set<String> set = new HashSet<>();
set.addAll(list1);
set.addAll(list2);

List<String> mergedList = new ArrayList<>(set);
System.out.println(mergedList); // [A, B, C]

在上面的代码中,我们首先创建一个空的Set,然后将两个List中的元素都添加到Set中,这样就去除了重复值。最后将Set转换为List,得到了合并并去重后的List。

总结

通过本文的介绍,我们学会了如何使用Java来合并两个List并去除重复值。这是一个在实际开发中经常会用到的操作,掌握这个技巧可以让我们的代码更加简洁高效。希望本文对您有所帮助。

参考资料

  • [Java List接口文档](
  • [Java Set接口文档](
journey
    title 合并并去重Java中的两个List值
    section 合并两个List
        A[创建List1]
        B[创建List2]
        C[使用addAll()方法合并List1和List2]
    section 去除重复值
        D[将List转换为Set]
        E[将Set转换为List]
    section 合并并去重
        F[创建空Set]
        G[将List1和List2中的元素添加到Set中]
        H[将Set转换为List]
    A--next-->C
    B--next-->C
    C--next-->F
    F--next-->G
    G--next-->H

通过上述的学习,我们了解了如何在Java中合并两个List并去除重复值。这对于我们日常的编程工作是非常有用的技能。希望通过这篇文章,读者对这个主题有了更深入的理解。如果有任何疑问或建议,欢迎留言交流。感谢阅读!