「已注销」 2016-12-17 01:12 采纳率: 0%
浏览 1295

arraylist的remove方法无效 求帮忙

下面是我写的函数 直接remove(obj)和遍历的方式remove(obj)都无效 而且数据已经添加进去了 但是直接remove(int)的方式去掉第几项就可以,想问一下这里是什么原因啊?
public void removefromList(Item obj) {
synchronized (this) {
Log.e("Queue","dosearch");
for (int i = 0; i < playedList.size(); i++) {
if (list.get(i) == obj) {
list.remove(i);
Log.e("Queue","remove");
i--;
}
}l
// list.remove(obj);

    }
}
    第二句话没有打印 就是没有找到集合里相同的OBJ 但是明明已经存在了的
  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2016-12-17 01:40
    关注
      你这样一边遍历列表一边删除列表元素是有问题的,你可以直接判断列表中是否包含某个对象,直接删除例如if(list. contains(obj)){list. remove(obj);}
    
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条