从ArrayList中删除项目

我有一个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]);

}

但是在第一个被删除的项目在数组中的位置更改之后,在下一个迭代中,它将删除错误的元素或给出异常。


白板的微信
浏览 540回答 3
3回答

扬帆大鱼

在这种情况下,您应该按降序删除元素。第一个索引5,然后3,然后1。这将从列表中删除元素,而不会产生不良副作用。for (int j = i.length-1; j >= 0; j--) {&nbsp; &nbsp; list.remove(i[j]);}

慕无忌1623718

您可以删除元素ArrayList使用ListIterator,ListIterator listIterator = List_Of_Array.listIterator();&nbsp;/* Use void remove() method of ListIterator to remove an element from List.&nbsp; &nbsp; &nbsp;It removes the last element returned by next or previous methods.&nbsp;*/listIterator.next();//remove element returned by last next methodlistIterator.remove();//remove element at 1st positionlistIterator.next();listIterator.next();listIterator.remove();//remove element at 3rd positionlistIterator.next();listIterator.next();listIterator.remove();//remove element at 5th position

万千封印

public void DeleteUserIMP(UserIMP useriamp) {&nbsp; &nbsp; &nbsp; &nbsp;synchronized (ListUserIMP) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (ListUserIMP.isEmpty()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("user is empty");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Iterator<UserIMP> it = ListUserIMP.iterator();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while (it.hasNext()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; UserIMP user = it.next();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (useriamp.getMoblieNumber().equals(user.getMoblieNumber())) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; it.remove();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("remove it");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ListUserIMP.remove(useriamp);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(" this user removed");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; Constants.RESULT_FOR_REGISTRATION = Constants.MESSAGE_OK;&nbsp; &nbsp; &nbsp; &nbsp; // System.out.println("This user Deleted " + Constants.MESSAGE_OK);&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java