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)
}}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 事件代理
- 带有Hilt的Android上的依赖注入
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- android|android studio中ndk的使用
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题