`
小笨熊
  • 浏览: 63747 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

如何删除集合元素

    博客分类:
  • java
阅读更多

删除集合元素,相信一提,肯定就是调用集合中的remove()方法了!

下面看个例子:

public void operate(List list){
        for (Iterator it = list.iterator(); it.hasNext();) {
            String str =  (String)it.next();
            if (str.equals("chengang")){
                list.remove(str);
            }
        }
    }

这样做可以删除元素吗?自己运行下试试!

答案一定是报错了!那么如何才可以删除正在循环的集合中的元素呢?

一个笨方法:

public void operate(List list){
        List removeList= new ArrayList();
        for (Iterator it = list.iterator(); it.hasNext();) {
            String str =  (String)it.next();
            if (str.equals("chengang")){
                removeList.add(str);
            }
        }
        list.removeAll(removeList);
    }

一个聪明的方法:

for (Iterator it = list.iterator(); it.hasNext();) {
            String str =  (String)it.next();
            if (str.equals("chengang")){
                it.remove();
            }
        }

你会用哪一个呢?

分享到:
评论
1 楼 jakoes 2007-06-04  
你的第一种方法不可以删除吗??
我的测试代码:
package com.jak.Collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {

public void removeList(List<String> list){

for(Iterator it = list.iterator();it.hasNext();){

String str = (String) it.next();
if(str.equals("brier"))
list.remove(str);
}
}
public static void main(String[] args) {

List<String> list = new ArrayList<String>();
list.add("jak");
list.add("brier");
list.add("rain");

Test test = new Test();
test.removeList(list);

for(String s:list)
System.out.println(s);
}
}

打印结果:
jak
rain

相关推荐

    使用Iterator接口遍历集合元素

    2. 当使用 Iterator 来迭代访问 Collection 集合元素时,Collection 集合里的元素不能被改变,只有通过 Iterator 的 remove 方法来删除上一次 next 方法返回的集合元素才可以。否则将会引发 java.util....

    Python程序基础:字典和集合综合案例.pptx

    字典和集合综合案例;遍历字典中所有的“键-值”对需要用到items()方法,该方法以列表形式返回可遍历的“(键,值)”元组。;当不需要使用字典中的值时,...1.添加与删除集合元素;例如:;2.集合运算;例如:;;;;;课程小结

    C#遍历List并删除某个元素的方法

    当我们需要遍历List并根据条件删除特定元素时,需要注意正确的方法,以避免在遍历过程中出现错误。以下将详细介绍如何在C#中遍历List并删除元素,包括正序和倒序遍历的技巧。 首先,我们来看一下错误的遍历方式。...

    C#在foreach遍历删除集合中元素的三种实现方法

    在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从而导致在foreach中删除元素时会抛出异常。 集合已修改;可能无法执行枚举操作。 方法一:采用for循环,并且从尾到头遍历 如果...

    实现Java删除一个集合的多个元素

    在Java编程中,删除集合元素是一项常见的操作,但必须遵循特定的规则,以避免出现异常。在本例中,我们探讨了如何在Java中安全地删除一个集合的多个元素,特别是涉及`for each`循环和`Iterator`时的注意事项。 首先...

    Python程序设计:集合的概念与创建.pptx

    集合分为可变集合和不可变集合,对于可变集合可以添加和删除集合元素,但其中的元素本身却是不可修改的,因此集合的元素只能是数值、字符串或元组。可变集合不能作为其他集合的元素或为字典的关键字使用,不可变集合...

    java中关于集合的操作

    - **容量与大小**: `size()`返回集合元素数量,`ensureCapacity()`预先设定容量。 4. **集合转换**: - `toArray()`:将集合转换为数组。 - `copyOf()`:Java 8引入,用于安全地创建数组副本。 5. **集合操作**...

    在list集合中输入元素,去除重复的元素并输出

    根据给定文件的信息,本文将详细介绍如何在Java的List集合中去除重复元素的三种方法:使用for循环、使用迭代器以及利用HashSet的特性。 ### 一、使用for循环去除重复元素 这种方法的基本思想是通过双重循环来遍历...

    c++程序设计实现集合交集并集差集.pdf

    该类中包含了多个成员函数,用于实现集合的基本运算,例如添加元素、删除元素、判断元素是否在集合中、输出集合等。 首先,我们定义了 int_set 类的构造函数,用于初始化集合的最大大小和当前大小。然后,我们定义...

    C++编程:建造集合类实训

    本文将详细讲解C++编程中集合类的实现,包括集合类的定义、添加元素、删除元素、判断集合是否为空或满、判断元素是否包含在集合中、计算集合中的元素总数、输出集合中的元素、求两个集合的交集和并集等操作。...

    Java 实例 - 删除集合中指定元素源代码+详细指导教程.zip

    除了这些基本操作,Java集合框架还提供了`removeAll(Collection&lt;?&gt; c)`方法,用于删除集合中所有匹配指定集合的元素,以及`retainAll(Collection&lt;?&gt; c)`方法,保留那些存在于指定集合中的元素,其余的都会被删除。...

    两个集合比较(新增、编辑、删除)

    在IT领域,集合比较是一...通过理解并熟练运用这些方法,我们可以有效地比较和操作两个List集合,无论是查找新增、编辑还是删除的元素。在实际项目中,这种能力对于数据同步、日志分析、版本控制等多个场景都至关重要。

    数据结构 C语言 设计集合抽象数据类型

    1. 本演示程序中,集合元素限定为数字,大小由用户输入。集合中数字顺序不限,且一旦出现重复字符或非法字符,程序能自动滤去。输出的运算结果中将不含重复数字或非法字符,且按照从小到大的顺序输出。 2. 演示...

    顺序表表示集合,实现集合的交、并、差运算

    - **A_B(A, D)**:实现集合A与集合D的差集操作,即从集合A中删除所有集合D中存在的元素。 - 遍历集合D的元素,并检查其是否存在于集合A中。 - 如果存在,则从集合A中删除该元素。 #### 3. 辅助函数 - **GetElem(L...

    数据结构课程设计----集合的并、交和差运算

    这些操作对于集合的并、交、差运算至关重要,因为它们允许在链表中有效地查找、插入和删除元素。 集合的抽象数据类型进一步定义了创建集合、销毁集合、计算并集、交集、差集以及打印集合的操作。这些操作基于有序表...

    C#集合遍历时删除和增加元素的方法

    大多数时候,遍历集合元素的时候并不需要对元素进行增加或者删除操作,但有些时候则需要,比如,如果集合中盛放的元素是社会上所有的人,那么有人死亡则元素删除,有人出生则是集合元素的增加。对于这种情况,遍历不...

    66丨迭代器模式(中):遍历集合的同时,为什么不能增删集合元素?1

    如果在遍历过程中删除元素"a",由于ArrayList的删除操作会移动后面的元素来填补空位,原本指向元素"b"的游标在删除操作后实际上会指向元素"c"。这就导致元素"b"无法被遍历到,而"b"和"c"之间的关系并未改变,导致...

    python内置的集合set中元素顺序-python基础教程:set(集合).pdf

    - 不可变性:集合中的元素不能被修改,尝试添加已存在的元素或删除不存在的元素会引发错误。 - 唯一性:集合内的元素必须是不可变的,并且不允许重复。尝试添加相同的元素只会保留一个,例如:`s = {'a', 'a', 'a'}`...

    数组和集合

    集合类通常提供更丰富的接口和方法,如添加、删除、查找、遍历等,相比于数组更易于实现复杂的数据管理。 数组和集合在使用上各有优势。数组的访问速度快,内存占用小,适合固定大小的数据集合;而集合提供了更多的...

Global site tag (gtag.js) - Google Analytics