2013-09-27 51 views
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)?

回答

0

如果你想用数组来做,那么你必须循环两个数组并逐个比较值。如果你想用ArraysLists做到这一点,那么你可以建立你的逻辑围绕和remove()方法。

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)方法

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

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); 
     } 
    }