2016-02-16 142 views
0

我比较命名alStringNamealNameAll通过比较两个ArrayList的

那么双的ArrayList获得无与伦比的价值,其添加到命名alNameSelected如下ArrayList的:

  for(int i=0;i<alStringName.size();i++){ 
       for(int j=0;j<alNameAll.size();j++){ 
        if (alStringName.get(i).equals(alNameAll.get(j))) { 

         alNameSelected.add(alStringName.get(i)); 

        } 
       } 
      } 

现在,它的工作的罚款。但是,我必须添加无与伦比的内容或数据到另一个名为alNameUnknown

我怎么能做到这一点?

+1

使用“else块”和含有方法IPV每个元素等于想到的 – Stultuske

回答

4

用替换你的内循环“匹配或不”检查:

for(int j=0;j<alNameAll.size();j++){ 
        if (alStringName.get(i).equals(alNameAll.get(j))) { 

         alNameSelected.add(alStringName.get(i)); 

        } 
       } 

变为:

if (alNameAll.contains(alStringName.get(i)){ 
    alNameSelected.add(alStringName.get(i)); 
}else{ 
    alNameUnknown.add(alStringName.get(i)); 
} 
+0

这是一个非常不错的解决方案:) +1 – Anton