Java|Java Android遍历数组删除数组中多个元素

【Java|Java Android遍历数组删除数组中多个元素】我们在遍历可变数组时,最好不要做删除数组中元素的操作。
因为删除操作可能会引起数组容量的变化,导致数组越界等问题。
以前在使用for循环遍历的时候遇到过这个问题。
此处举例列表存储对象的列表A为mListA;和存储A对象的列表B为mListB,目标是把B中重复的A去掉
解决方案如下:
Kotlin:关键方法使用数组的indexOfFirst方法,如果l mListB.indexOfFirst { A.id == B.id }返回-1说明没有找到重复的元素,如果不是-1则返回数组中所在的元素下标

mListA?.forEachIndexed { index, A -> var currentIndexListB = mListB.indexOfFirst { it.id == A.id } //-1表示没发现重复的 其它值表明已经发现重复的值并返回当下列表的坐标 if (currentIndexListB != -1) { mListB.removeAt(currentIndexListB) }}

    推荐阅读