`
kangshunyao
  • 浏览: 7295 次
  • 来自: 青岛
社区版块
存档分类
最新评论

ArrayList删除特定几个元素

    博客分类:
  • java
 
阅读更多
在代码中,删除元素后,需要把下标减一。这是因为在每次删除元素后,ArrayList会将后面部分的元素依次往上挪一个位置(就是copy),所以,下一个需要访问的下标还是当前下标,所以必须得减一才能把所有元素都遍历完
   ArrayList al = new ArrayList();
    
    al.add("a");
    
    al.add("b");
    
    //al.add("b");
    
    //al.add("c");
    
    //al.add("d");
    
    for (int i = 0; i < al.size(); i++) {
    
    if (al.get(i) == "b") {
    
    al.remove(i);
    
    i--;
    
    }
    
    }
  • 大小: 261.1 KB
分享到:
评论

相关推荐

    c#重写ArrayList源代码

    ArrayList的源代码重写通常涉及以下几个关键部分: 1. **构造函数**:ArrayList有一个无参数的默认构造函数,它初始化一个空数组,以及一个带有初始容量参数的构造函数。在重写中,我们需要创建这些构造函数,并...

    ArrayList,HashMap

    ArrayList是一个动态数组,它允许我们在集合中按索引顺序访问元素。它通过内部维护一个数组来存储元素,当添加新元素导致数组容量不足时,ArrayList会自动扩大容量。由于ArrayList是基于数组实现的,因此它提供了...

    Java员工管理系统,ArrayList存储

    员工管理系统的设计通常包括以下几个核心模块: 1. **员工实体类(Employee)**:这是系统的基础,需要定义一个Employee类来封装员工的属性,如姓名、工号、部门、职位、薪资等。可以使用私有成员变量和getter/...

    java二维数组删除特定行代码

    ### Java二维数组删除特定行 #### 1. 理解问题背景 在给定的代码片段中,我们看到一个名为`quzheng`的类,其中定义了几个静态变量以及一个名为`delete`的方法,用于删除满足特定条件的行。`data`二维数组存储了...

    ArrayList LinkedList Vector性能对比

    在选择这三个类时,应考虑以下几个因素: 1. **性能**:如果需要频繁的随机访问,ArrayList通常是更好的选择;如果插入和删除操作频繁,LinkedList更合适;而线程安全的需求则倾向于选择Vector。 2. **线程安全**...

    Java中ArrayList类的用法.pdf

    ArrayList有几个关键的属性和方法: 1. 构造器:默认构造器不传参数,容量为16;接受ICollection参数,将集合元素复制到ArrayList;接受int参数,指定初始容量。 2. `IsSynchronized`属性和`ArrayList.Synchronized`...

    java中ArrayList的用法

    - `insert(int index, E element)`:在列表的指定位置插入一个元素。 2. **删除元素** - `remove(Object o)`:移除列表中第一次出现的指定元素(如果存在)。 - `removeAt(int index)`:移除列表中指定位置的...

    Java基础加强_ArrayList_HashSet的比较及Hashcode分析

    由于内部维护了一个数组,ArrayList保证了元素的顺序性,插入和删除元素时可能会涉及数组的复制和移动,因此在这些操作上效率相对较低。ArrayList适合于需要频繁访问元素或保持元素插入顺序的场景。 相比之下,...

    jdk源码阅读一:ArrayList

    这表明对于尚未分配任何空间的ArrayList实例,第一次扩容时将会分配至少10个元素的空间。 #### 五、ArrayList的构造函数与初始化 - **构造函数**:ArrayList提供了几种不同的构造函数,以满足不同的初始化需求。 ...

    ArrayList.rar

    在复习ArrayList时,我们应当关注以下几个核心概念: 1. 动态增长:ArrayList会自动调整大小以适应新元素的添加,当数组达到其容量极限时,会创建一个更大的数组并复制所有元素。 2. 索引访问:ArrayList的元素可以...

    JDK1.6中Arraylist,Vector,LinkedList源码

    源码分析时,可以关注以下几个关键点: 1. 容量管理:观察ArrayList和Vector如何进行扩容,了解它们扩容的策略和成本。 2. 插入和删除:比较ArrayList、Vector和LinkedList在插入和删除元素时的代码实现,分析时间...

    简单测试代码

    3. **增删操作效率**:在ArrayList的末尾添加或删除元素的效率较高,因为只需要调整数组的最后一个元素。但在中间或开头插入、删除元素,需要移动大量元素,效率较低。 4. **扩容策略**:当ArrayList满时,它会按照...

    数据结构(耿国华,高等教育出版社)第二章线性表课后习题第5题答案

    描述中提到的任务是“编写一个算法,从顺序表中删除自第i个元素开始的k个元素”。顺序表是一种数据结构,其中元素按照线性的顺序存储,可以是数组实现。这个问题要求我们设计一个算法,该算法能够高效地删除指定位置...

    ArrayList-LinkedList--Vector-Map.zip_vector

    在选择这些集合类时,开发者应考虑以下几个因素:数据访问模式(是否需要随机访问)、操作频率(插入/删除/查找)、线程安全性以及性能需求。例如,如果需要一个线程安全且经常进行增删操作的列表,`Vector`可能是...

    C#的动态数组介绍可用

    此代码段将依次打印出 `ArrayList` 中的每个元素。 #### 计数与容量 `ArrayList` 提供了两个重要的属性:`Count` 和 `Capacity`。 - `Count` 表示当前 `ArrayList` 中元素的数量。 - `Capacity` 表示 `ArrayList`...

    js实现ArrayList功能附实例代码

    在JavaScript中实现ArrayList通常会涉及以下几个关键操作: 1. 构造方法 2. 增加元素 3. 移除元素 4. 清空列表 5. 复制列表 6. 包含元素 7. 获取列表大小 8. 访问元素 9. 查找元素索引 10. 列表容量调整 具体来说,...

    java的arraylist排序示例(arraylist用法)

    在`main`方法中,我们实例化了几个`Student`对象,每个对象都有一个名字和年龄属性。这些对象被添加到一个`ArrayList&lt;Student&gt;`类型的`studentList`中。`ArrayList`允许我们在运行时向列表中添加或删除元素,而不必...

    《C#入门经典》第十章Array和ArrayList的相关问题!!!问题都在注释里!.pdf

    // 删除ArrayList中的特定动物 animalArrayList.Remove(newDog); #endregion Console.ReadLine(); } } 在这段代码中,我们看到涉及了C#中的几个核心概念: 1. **类与继承**:`Animal` 是一个抽象基类,它有...

    动态数组使用

    下面我们将深入探讨ArrayList的几个关键知识点: 1. **创建ArrayList**: 要创建一个ArrayList实例,你可以调用构造函数并指定初始容量。例如: ```csharp ArrayList myList = new ArrayList(); ``` 或者 ```csharp ...

    ArrayList

    1. `add(E element)`: 向ArrayList末尾添加一个元素。 2. `add(int index, E element)`: 在指定的位置插入一个元素,会将之后的所有元素向右移动。 3. `remove(int index)`: 删除指定位置的元素,所有后续元素向前...

Global site tag (gtag.js) - Google Analytics