以后删除元素不敢用ArrayList中的remove了,不知道能出现神马样的后果,删除不干净哦。在for循环中连续remove ArrayList中的元素总是会删除不干净的。
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>(100);
//初始化元素0-9
for (int i = 0; i < 10; i++) {
arrayList.add(String.valueOf(i));
}
//删除整除2的元素并很笨的打印一些信息
for (int i = 0; i < arrayList.size(); i++) {
System.out.println("before if:\t" + i);
if (Integer.valueOf(arrayList.get(i)).intValue() < 2
|| Integer.valueOf(arrayList.get(i)).intValue() > 5) {
System.out.println("befor remove\t" + i);
System.out.println("removing:\t" + arrayList.remove(i));
System.out.println("after remove:\t" + i);
}
System.out.println("after if:\t" + i);
}
System.out.println("*************************************");
for (int i = 0; i < arrayList.size(); i++) {
System.out.println(arrayList.get(i));
}
}
}
你看看结果哦,感觉运行步骤是蹦蹦跳跳滴。
before if: 0
befor remove 0
removing: 0
after remove: 0
after if: 0
before if: 1
after if: 1
before if: 2
after if: 2
before if: 3
after if: 3
before if: 4
after if: 4
before if: 5
befor remove 5
removing: 6
after remove: 5
after if: 5
before if: 6
befor remove 6
removing: 8
after remove: 6
after if: 6
*************************************
1
2
3
4
5
7
9
谁能给我解释下这是为什么呢? 求解!!
分享到:
相关推荐
ArrayList的removeAll方法是一个常用的集合操作方法,该方法可以从一个ArrayList中删除所有在另外一个集合中的元素。但是,在实际开发过程中,removeAll方法的使用需要 thận重,因为它可能会导致性能问题。 1. ...
Java 中 ArrayList 的使用方法以及与 Vector 的对比 ArrayList 是 Java 中的一种动态数组,它提供了很多有用的特性,例如动态地增加和减少元素,实现了 ICollection 和 IList 接口,灵活的设置数组的大小等。下面...
在Java编程语言中,ArrayList是集合框架中的一种重要数据结构,属于List接口的实现类。ArrayList主要用于存储一组有序的、可变大小的对象序列。它的特点是允许快速的随机访问,但插入和删除元素时效率相对较低,因为...
### Java中ArrayList的用法详解 #### 一、概述 `ArrayList`是Java集合框架中的一个动态数组类,它能够存储任意类型的对象,并且在运行时动态调整其大小。这使得`ArrayList`成为处理数量未知的数据集合时的一个非常...
### Java中ArrayList类的用法详解 #### 一、ArrayList的概念 `ArrayList`是Java集合框架中的一个重要组成部分,它提供了一种类似于数组的数据结构,但与传统的数组相比,`ArrayList`具有更多的灵活性。它可以动态地...
ArrayList的remove()方法是一个关键功能,用于删除列表中的元素。然而,如果不正确地使用这个方法,可能会导致程序运行错误或预期之外的结果。以下是对`java ArrayList.remove()`的三种错误用法以及六种正确用法的...
"Java 中 ArrayList 类的使用" Java 中的 ArrayList 类是一种常用的数据结构,它可以实现可变长度的数组。ArrayList 类提供了多种方法来操作数组中的元素,包括添加、删除、获取、设置、查找等。 构造方法 ...
Java中的ArrayList类是Java集合框架的一部分,它是基于数组实现的可变大小的列表。ArrayList类在编程中扮演着重要角色,因为它提供了动态增加和减少元素的能力,这比传统的固定大小的数组更加灵活。ArrayList实现了...
" Java中ArrayList在foreach里remove的问题详析 " 在Java中,ArrayList是一个动态数组,它提供了动态的增加和减少元素的功能,並实现了ICollection和IList接口。然而,在使用foreach循环时,ArrayList不能add元素,...
Java中的ArrayList类是Java集合框架的一部分,它是List接口的一个实现,主要用于存储可变大小的有序对象集合。ArrayList基于数组实现,允许动态地增加或减少元素,提供了丰富的操作方法,适用于需要频繁增删元素的...
在Java中,ArrayList类继承自AbstractList接口,并实现了List接口,提供了丰富的操作方法,如add、remove、get等。 Iterator设计模式是一种行为设计模式,它的主要作用是为集合提供一种顺序访问元素的方式,而无需...
- 删除元素:remove()方法可以按索引删除元素,removeAll()方法用于移除集合中的所有匹配项。 - 修改元素:set()方法允许通过索引更改现有元素。 - 查找元素:get()方法通过索引获取元素,indexOf()和lastIndexOf()...
ArrayList提供了add()方法用于添加员工,get()方法获取指定索引的员工,remove()方法删除员工,以及size()方法获取员工数量。 3. **基本操作**:系统应提供添加员工、删除员工、查找员工、更新员工信息等基本操作。...
Java中的ArrayList是一个非常重要的数据结构,它作为动态数组,提供了比传统数组更强大的功能和灵活性。ArrayList类位于java.util包中,它实现了List接口,因此它支持有序的元素集合,并且允许重复元素。以下是...
Java 中数组列表 ArrayList 的使用 ArrayList 是 Java 中的一种动态数组,提供了动态的增加和减少元素的功能,实现了 ICollection 和 IList 接口,灵活地设置数组的大小。下面是 ArrayList 的一些重要的方法和属性...
ArrayList 是 Java 集合框架中的一个重要组成部分,它是一个基于数组实现的可变大小的列表。ArrayList 类继承自 AbstractList 类并实现了 List 接口,这意味着它可以被用作一个有序的元素集合,允许我们在任何位置...
ArrayList是Java集合框架中常用的动态数组,它允许我们在运行时添加、删除和访问元素。在Java中,ArrayList实现了List接口,因此它支持有序的元素序列,并且允许有重复元素。本文将深入解析ArrayList的主要方法,...
ArrayList是Java中常用的一种集合类,它是基于动态数组实现的,允许我们在运行时灵活地添加、删除或修改元素。ArrayList类是Java集合框架的一部分,它实现了List接口,因此也遵循了列表的所有规则。 1. **ArrayList...
Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等...