【发布时间】:2014-04-18 21:14:26
【问题描述】:
我有一个很大的字符串列表。我有一个小字符串列表,它实际上是大字符串列表的一个子集。现在我需要将匹配的项目分离到源列表中,将不匹配的项目分离到目标列表中。
我能够分离匹配项,但无法创建不匹配项的正确列表。
下面是我写的java代码:
public class Demo {
public static void main(String[] args) {
List<String> smallList = new ArrayList<String>();
List<String> bigList = new ArrayList<String>();
List<String> sourceList = new ArrayList<String>();
List<String> targetList = new ArrayList<String>();
smallList.add("jammu");
smallList.add("surat");
smallList.add("hyderabad");
bigList.add("hyderabad");
bigList.add("mumbai");
bigList.add("delhi");
bigList.add("jammu");
bigList.add("patna");
bigList.add("kanpur");
bigList.add("surat");
bigList.add("bangalore");
bigList.add("chennai");
bigList.add("kota");
for(int i=0; i<smallList.size();i++)
{
for(int j=0; j<bigList.size(); j++)
{
if(smallList.get(i).equalsIgnoreCase(bigList.get(j)))
{
targetList.add(smallList.get(i));
break;
}
else{
targetList.add(bigList.get(j));
}
}
}
System.out.println("========== Source List =============");
System.out.println(sourceList);
System.out.println("========== Target List =============");
System.out.println(targetList);
}
}
结果是:
========== Source List =============
[hyderabad, mumbai, delhi, hyderabad, mumbai, delhi, jammu, patna, kanpur]
========== Target List =============
[jammu, surat, hyderabad]
想要的是:
========== Source List =============
[mumbai, delhi, patna, kanpur, bangalore, chennai, kota]
========== Target List =============
[jammu, surat, hyderabad]
非常感谢任何帮助。
更新:我无法使用 removeAll 创建源列表。必须浏览每条记录以分隔内容。
【问题讨论】:
标签: java arrays list arraylist