我有一个包含n个元素的ArrayList<String>
A,以及一个包含我需要删除的A的索引的ArrayList<Integer>
B.如何删除这些索引?删除这样的索引后A.remove(index)
,然后A的大小变小,其他索引不再位于同一位置。
欢迎任何想法。
答案 0 :(得分:3)
你必须对它们进行排序(Collections.sort()可能是开箱即用的整数arraylist),首先删除较大的索引。
答案 1 :(得分:2)
如果列表中没有重复的字符串,则可以创建包含要删除的对象的列表,然后为数组列表调用removeAll(Collection c)方法。
如果stringList
是包含字符串的列表,indexList
是您的索引列表:
List<String> toRemove = new ArrayList<String>();
for(Integer i : indexList){
toRemove.add(stringList.get(i));
}
stringList.removeAll(toRemove);
答案 2 :(得分:0)
for(int i = 0; i < arrayListInt.size(); i++){
int arrayIndexInIntArray = arrayListInt.get(i);
int arrayIndexToRemove = 0;
for (Iterator iterator = arrrayList.getIterator(); iterator.hasNext();) {
String tempString = (String) iterator.next();
if (arrayIndexInIntArray == arrayIndexToRemove) { //Some condition
iterator.remove();//Remove the value at the current iterator
break;
}
arrayIndexToRemove ++;
}
}
}
试试这个。
答案 3 :(得分:0)