0

我已经给出了两个数组

array 1 :  a, b, c, d
array 2 :  a, b, c 

我用过

ArrayList<String> combine =  new ArrayList<String> ()

array 1和中的所有元素array 2

通过排序,我发现

a , a , b , b , c , c , d 

你能告诉我如何比较这两个数组中的元素并返回不同的项目(例如d)吗?

4

3 回答 3

1

就像是

ArrayList<String> charsA = new ArrayList<>();
charsA.addAll(Arrays.asList("a", "a", "b", "c", "d"));
ArrayList<String> charsB = new ArrayList<>();
charsB.addAll(Arrays.asList("a", "b", "c"));

charsA.removeAll(charsB);
System.out.println(charsA);

印刷

[d]

如果您不希望两个原始文件中的任何一个受到影响,显然使用不同的列表。

removeAll(Collection)方法_

从此列表中删除包含在指定集合中的所有元素。

于 2013-09-27T02:52:04.627 回答
0
    List<String> list1 = new ArrayList<String>();
    list1.add("a");
    list1.add("b");
    list1.add("c");
    list1.add("d");

    List<String> list2 = new ArrayList<String>();
    list2.add("a");
    list2.add("b");
    list2.add("c");

    List<String> distinctList = new ArrayList<String>();

    for (String string : list1) {
        if (!list2.contains(string)) {
            distinctList.add(string);
        }
    }
于 2013-09-27T02:55:14.967 回答
0

如果你想用数组来做,那么你必须遍历两个数组并一一比较值。如果你想用 ArraysLists 来做,那么你可以围绕contains()remove()方法构建你的逻辑。

于 2013-09-27T02:51:58.907 回答