有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java ArrayList添加元素,被动跳过冗余元素

假设我有两个ArrayList:

List<String> arr = new ArrayList<>();
arryOne.add("Huey");
arryOne.add("Dewey");
arryOne.add("Louie");

List<String> arryTwo = new ArrayList<>();
arryTwo.add("Dewey");
arryTwo.add("Stuie");

是否有一些方便的API或相对简单的方法来添加“Stuie”到arryOne,而忽略多余的“Dewey”元素

我相信我可以暴力执行添加/忽略,但我希望有人能通过collections API或类似的方式知道一种方便的方法,只需几行代码就可以做到这一点。谢谢


共 (1) 个答案

  1. # 1 楼答案

    没有,因为List是一种或多或少明确表示:可以包含重复项的数据类型

    换句话说,如果有什么的话,这个列表已经烘焙了第二个Dewey不是多余的:

    arr.addAll(arryTwo);
    

    应该导致:[Huey, Dewey, Louie, Dewey, Stuie]

    其他数据类型是您需要的。例如,LinkedHashSet:

    var set = new LinkedHashSet<String>();
    var arr1 = List.of("Huey", "Dewey", "Louie");
    var arr2 = List.of("Dewey", "Stuie");
    set.addAll(arr1);
    set.addAll(arr2);
    System.out.println(set);
    > [Huey, Dewey, Louie, Stuie]