从两个阵列列表中删除公共值

时间:2016-08-16 05:17:37

标签: java list arraylist collections iterator

我有两个数组列表。第一个数组列表包含应从第二个数组列表中删除的ID。第二个数组列表不仅包含ID,而是包含其他信息(以制表符分隔)。

ArrayList1 = [1000, 1001]
ArrayList2 = [1000     Yes     3     33,1001     No     No     22,1002     No     Yes     4,1003     No     No     13]

我想要做的是删除ArrayList2中具有相同ID的所有元素。所以,最终的输出应该是另一个arrayList,如下所示: ArrayList2 = [1002 No Yes 4,1003 No No 13]。

关于如何解决这个问题的任何想法。

1 个答案:

答案 0 :(得分:0)

如果每个元素的前四位数是要检查的整数,则迭代列表并用正则表达式将每个元素拆分为字符“”(空格)。

现在您有包含Object的列表元素,您可以确定第一个条目是整数。只需检查整数即可。

在伪代码中:

for (Object obj : ArrayList1) {
  String[] result = Regex.split (obj, " ");
  if (result [0] == myIdToCheck) 
     ArrayList2.remove (obj);
}