注意:(1) 使用Arrays.asList将数组转为集合后不能直接对集合进行add或remove操作
(2) remove()方法会改变集合的长度导致循环不正确
String a = "1,2,3,4,5";
String[] sz = a.split(",");
List<String> listArray = Arrays.asList(sz);
// 此时可对集合进行add或remove操作
List<String> listA = new ArrayList<String>(listArray);
// 注意remove会改变集合的长度,循环会不正确
// 移除集合中的元素
List<String> listB = new ArrayList<String>();
listB.add("2");
listB.add("5");
listB.add("6");
for (int i = 0; i < listA.size(); i++) {
String aId = String.valueOf(listA.get(i));
boolean flag = false;
for (int j = 0; j < listB.size(); j++) {
// 移除集合A中和集合B相同的元素
if (aId.equals(listB.get(j))) {
listA.remove(i);
flag = true;
}
}
if (flag) {
i--;
}
}
// 打印结果
for (int k = 0; k < listA.size(); k++) {
System.out.println("输出移除元素后的集合A的数据::" + listA.get(k));
}