- 单列表删除(推荐使用迭代器)
Iterator<Integer> it = list.iterator();
while(it.hasnext()) { //使用迭代器能避免动态删除列表后列表索引的变化带来的问题
Integer value = it.next();
if(value == 1 || value == 3 || value == 6) {
it.remove();
}
}
- 双列表删除
List<Integer> listRepeat = new ArrayList<>();
Collections.addAll(listRepeat, 9, 1, 3);
Set<Integer> set = new HashSet<>(listRepeat);//转换成set去重
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
Integer item = it.next();
for (Integer integer : list) {
if (integer.equals(item)) {
it.remove();
}
}
}
for (Integer i : listRepeat) {
System.out.println(i);
}
- list去重
private static void DuplicateRemoval(List<Integer> ioList)
{
LinkedHashSet<Integer> tmpSet = new LinkedHashSet<Integer>(ioList.size());
tmpSet.addAll(ioList);
ioList.clear();
ioList.addAll(tmpSet);
}