注意:(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)); }