在Java中查找字符串数组差异

时间:2010-02-08 10:07:13

标签: java arrays set-difference

我创建了两个数组变量:s1和s2 s1包含{ram,raju,seetha} s2包含{ram}

我想将两个数组减去为集合,以获得以下结果:

拉​​朱  塞塔

我该怎么做?

4 个答案:

答案 0 :(得分:7)

如果数组中的元素是唯一的,您可以创建java.util.Set并执行removeAl(...)。如果它们不是唯一的,请转而使用java.util.List

答案 1 :(得分:3)

你可以通过循环遍历项目来获得差异:

String[] s1 = {"ram", "raju", "seetha"};
String[] s2 = {"ram"};
List<String> s1List = new ArrayList(Arrays.asList(s1));
for (String s : s2) {
  if (s1List.contains(s)) {
    s1List.remove(s);
  }
  else {
    s1List.add(s);
  }
}

s1List包含两个数组之间的差异。

答案 2 :(得分:0)

要自己实现这个(例如,如果这是作业并且您还没有了解Java集合API),您可以这样处理它:对于第一个数组中的每个元素,将元素添加到结果中,如果是不包含在另一个数组中。现实世界的解决方案是使用集合as described by Bart

答案 3 :(得分:0)

$this->get('your.service')

您可以从上面的代码中减少几行,但为了清晰起见,我保留了它。