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