arraylist 删除
时间: 2023-12-26 11:03:23 浏览: 75
Java ArrayList删除特定元素的方法
ArrayList删除元素的几种方法。
方法一:倒序遍历删除
可以使用倒序遍历的方式删除ArrayList中的元素。这种方法可以避免删除元素后索引发生改变导致的漏删和越界异常。具体代码如下:
```
public static void remove(List<String> list, String target) {
for (int i = list.size() - 1; i >= 0; i--){
String item = list.get(i);
if (target.equals(item)){
list.remove(item);
}
}
}
```
这种方法通过从后往前遍历,避免了索引改变导致的问题。
方法二:使用迭代器删除
如果使用的是ArrayList的迭代器,可以使用Iterator的remove()方法来删除元素,避免了索引改变导致的问题,并且适用于大多数List实现类。具体代码如下:
```
public static void remove(List<String> list, String target) {
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
String item = iter.next();
if (item.equals(target)) {
iter.remove();
}
}
}
```
这种方法通过迭代器的remove()方法来删除元素,保证了删除的准确性,并且适用于大多数List实现类。
方法三:使用增强for循环删除
可以使用增强for循环遍历ArrayList并删除指定元素。但是需要注意的是,在删除元素后继续循环会抛出ConcurrentModificationException异常,因此需要使用break跳出循环。具体代码如下:
```
public static void remove(List<String> list, String target) {
for (String item : list) {
if (item.equals(target)) {
list.remove(item);
break;
}
}
}
```
这种方法需要注意在删除元素后使用break跳出循环,避免抛出ConcurrentModificationException异常。
综上所述,以上是ArrayList删除元素的几种方法:倒序遍历删除、使用迭代器删除和使用增强for循环删除。根据实际需求和List的具体实现类,可以选择适合的方法来删除元素。
阅读全文