我有两个数组列表。第一个阵列列表包含应从第二个阵列列表中删除的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否是4,1003否否13]。
关于如何解决此问题的任何想法。
最佳答案
您可以在下面尝试代码。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class Test {
public static void main(String args[]){
Integer idArr[] = {1000, 1001};
String unitArr2[] = {"1000 Yes 3 33","1001 No No 22","1002 No Yes 4","1003 No No 13"};
ArrayList<String> list = new ArrayList<String>(Arrays.asList(unitArr2));
for(int id: idArr){
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String unit = iterator.next();
if(Integer.parseInt(unit.split("\t")[0]) == id){
iterator.remove();
break;
}
}
}
for(String unit: list){
System.out.println(unit);
}
}
}