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

ArrayList - Add Elements, Passively Skipping Redundant Elements

假设我有两个数组列表:

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”元素?

我确定我可以蛮力执行 add/ignore 但希望有人可能知道通过集合 API 或类似方法的便利方法,只需几行代码即可完成此操作。谢谢!

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

换句话说,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]