假设需要根据条件移除一个List listSoure里面的N条符合条件的数据,那么其中一个方法就是 先筛选出来所有的下标放在一个集合里
比如筛选出来的下标放在 这样的一个集合里 List<Integer> listRemoveIndex;
然后轮循 listRemoveIndex,移除 如下
for(Integer intItem:listRemoveIndex){
listSoure.remove(intItem);
}
这个时候你会发现 listSoure怎么都无法移除数据,明明是根据下标移除的,而且listSoure数据是对的,就是无法移除,
想了下问题,jdk出现问题的可能性不大,仔细观察会发现 remove()这是个重载方法,有接受Object 和int ,而这个时候
intItem恰好是一个整数对象而非基本类型,jdk认为是接收了一个Object而不是当下标处理移除,修改如下即可:
for(Integer intItem:listRemoveIndex){
listSoure.remove((int)intItem);
}