`
小笨熊
  • 浏览: 62071 次
  • 性别: 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

相关推荐

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

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

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

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

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

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

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

    主要介绍了C#遍历List并删除某个元素的方法,实例分析了正序与倒序遍历list及删除元素的使用技巧,需要的朋友可以参考下

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

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

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

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

    大学离散数学实验集合运算.zip

    将数组B中的元素逐一与数组B中的元素进行比较,把相同的元素从数组C中删除,数组C便是集合A和集合B的差A-B。 (5)集合的补运算:将数组E中的元素逐一与数组A中的元素进行比较,把不相同的元素保存到数组C中,数组C...

    实验05 Java集合.doc

    4)打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。 3、编写程序练习Map集合的基本使用: 1)创建一个只能容纳String对象的...

    Python程序设计:集合的常用操作.pptx

    (2)集合元素的查看与删除 集合对象是无序的,因此无法直接查看里面的数据,可以将集合转换为列表进行查看,或使用pop()方法进行查看,但是pop()方法用于随机删除并返回集合中的一个元素,如果集合为空则抛出异常;...

    动态添加删除表单元素

    动态添加删除表单元素(很经典)

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

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

    java集合类arraylist循环中删除特定元素的方法.docx

    java集合类arraylist循环中删除特定元素的方法.docx

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

    上一节课中讲解的内容都比较基础,今天,我们来深挖一下,如果在使用迭代器遍历集合的同时增加、删除集合中的元素,会发生什么情况?不过,并不是所有情况下都会遍历出错,

    java-collections-comparison:在不同的Java集合实现中进行比较实验,以找出时间与集合大小之间的关系,在检索过程中,从集合中删除元素以及遍历每个集合中的所有元素的过程

    • 抽象的针对不同Java集合实现的比较实验,以找出时间与集合大小之间的关系,以及在检索过程中,从集合中删除元素以及遍历每个集合中的所有元素的过程。 • 方法用数字填充集合,并测量进行散文的时间,然后将结果...

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

    Java中的For each实际上使用的是iterator进行处理的。而iterator是不允许集合在...而我在for each时,从集合中删除了一个元素,这导致了iterator抛出了ConcurrentModificationException,下面来看看到底怎么回事。

    Java集合框架Collection接口.pdf

    其中Collection接口是Java集合框架的基础接口之一,定义了一些基本的集合操作,包括添加元素、删除元素、遍历集合等。在这里,我将为您详细介绍Java集合框架中的Collection接口。 Collection接口是Java集合框架中的...

    python集合是否可变总结

    集合中的元素可以动态的增加或删除。 frozenset —— 不可变集合。集合中的元素不可改变。 注:对于 并集, 交集, 差集 等的返回值,与最左边的操作数具有相同的类型。例如:s & t 取交集。s集合是一个set类型的...

    测量程序编制 - python 52数据类型:Set(集合)-函数.pptx

    删除集合中指定的元素 7 intersection() 返回集合的交集 8 intersection_update() 返回集合的交集。 9 isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 Set(集合)——函数 ...

    Java集合框架Set接口.pdf

    Java集合框架中的Set接口是一种不允许包含重复元素的集合。Set接口继承自Collection接口,因此它具有Collection接口定义的所有方法。同时,Set接口还具有自己的特殊方法,例如:添加元素、删除元素、判断元素是否...

Global site tag (gtag.js) - Google Analytics