美文网首页程序人生
Java Android遍历数组删除数组中多个元素

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

作者: 为自己代颜_ | 来源:发表于2021-05-21 18:22 被阅读0次

    我们在遍历可变数组时,最好不要做删除数组中元素的操作。
    因为删除操作可能会引起数组容量的变化,导致数组越界等问题。
    以前在使用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)
                            }
    
                        }
    

    相关文章

      网友评论

        本文标题:Java Android遍历数组删除数组中多个元素

        本文链接:https://www.haomeiwen.com/subject/arzwjltx.html