为了账号安全,请及时绑定邮箱和手机立即绑定

从ArrayList中删除项目

从ArrayList中删除项目

白板的微信 2019-11-28 13:52:00
我有一个ArrayList假设list,它有8个项目AH,现在我想从list如何删除int数组中存储的1,3,5位置项目。我正在尝试这样做ArrayList<String> list = new ArrayList<String>();list.add("A");list.add("B");list.add("C");list.add("D");list.add("E");list.add("F");list.add("G");list.add("H");int i[] = {1,3,5};for (int j = 0; j < i.length; j++) {    list.remove(i[j]);}但是在第一个被删除的项目在数组中的位置更改之后,在下一个迭代中,它将删除错误的元素或给出异常。
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

在这种情况下,您应该按降序删除元素。第一个索引5,然后3,然后1。这将从列表中删除元素,而不会产生不良副作用。


for (int j = i.length-1; j >= 0; j--) {

    list.remove(i[j]);

}


查看完整回答
反对 回复 2019-11-28
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

您可以删除元素ArrayList使用ListIterator,


ListIterator listIterator = List_Of_Array.listIterator();


 /* Use void remove() method of ListIterator to remove an element from List.

     It removes the last element returned by next or previous methods.

 */

listIterator.next();


//remove element returned by last next method

listIterator.remove();//remove element at 1st position

listIterator.next();

listIterator.next();

listIterator.remove();//remove element at 3rd position

listIterator.next();

listIterator.next();

listIterator.remove();//remove element at 5th position


查看完整回答
反对 回复 2019-11-28
?
万千封印

TA贡献1891条经验 获得超3个赞

public void DeleteUserIMP(UserIMP useriamp) {

       synchronized (ListUserIMP) {

            if (ListUserIMP.isEmpty()) {

            System.out.println("user is empty");

        }  else {

            Iterator<UserIMP> it = ListUserIMP.iterator();

            while (it.hasNext()) {

                UserIMP user = it.next();

                if (useriamp.getMoblieNumber().equals(user.getMoblieNumber())) {

                    it.remove();

                    System.out.println("remove it");

                }

            }

            // ListUserIMP.remove(useriamp);


            System.out.println(" this user removed");

        }

        Constants.RESULT_FOR_REGISTRATION = Constants.MESSAGE_OK;

        // System.out.println("This user Deleted " + Constants.MESSAGE_OK);


    }

}


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 539 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信