`
vipshichg
  • 浏览: 267480 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何删除JAVA集合中的元素

    博客分类:
  • java
阅读更多

经常我们要删除集合中的某些元素。有些可能会这么写。

public void operate(List list){

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

  String str = (String)it.next();

  if (str.equals("chengang")){

  list.remove(str);

  }

  }

  }

 这种写法一运行就会报如下异常:

  Exception in thread "main" java.util.ConcurrentModificationException

  at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)

  因为list在循环中的时候是不可以删除它的元素的。后来我是这样做的,一种很笨的方法,思路是这样的:创建一个List专门存放要被删除的元素,循环过后,用List.removeAll方法把元素删除。代码如下:

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);

  }

  这样也确实可以解决问题了,但是方法实在太笨重,其实可以有更简单的更高效的方法,就是用Iterator.remove方法,如下:

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

  String str = (String)it.next();

  if (str.equals("chengang")){

  it.remove();

  }

  }

 所以,你对Java的基础知识了解越多,代码就会写得越简洁。相反如果你的代码特别复杂,则方法或设计一定有问题。

6
34
分享到:
评论
2 楼 CoderDream 2013-12-02  
多看API,就能找到捷径!
1 楼 liangcoder 2013-10-10  
good job

相关推荐

    删除JAVA集合中元素的实现代码

    删除JAVA集合中元素的实现代码 在 Java 编程中,删除集合中的元素是一个常见的问题。有时候,我们需要删除集合中的某些元素,那么就可以参考下面的代码。 在 Java 中,集合是不能在遍历时删除元素的。因为 List 在...

    java中关于集合的操作

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

    java 集合

    本文将深入探讨Java集合框架的基础知识,包括接口、类、以及它们在实际开发中的应用。 首先,Java集合框架由一系列接口和实现这些接口的类组成。主要的接口有`List`、`Set`和`Queue`,它们各自代表了不同特性的数据...

    java集合思维导图

    Java集合框架还包含了一些工具类,如`Collections`(提供对集合的静态方法)、`Iterator`(遍历集合元素)、`Comparator`(用于比较对象)等。这些工具极大地提高了代码的可读性和效率。 在实际应用中,选择合适的...

    Java集合排序及java集合类详解.pdf

    Java集合框架中的容器可以根据其功能特性进一步细分为: - **List**:有序集合,允许重复元素。 - **Set**:无序集合,不允许重复元素。 - **Map**:存储键值对的容器。 每种容器都有自己的实现类,例如ArrayList...

    Java集合 练习代码

    ArrayList是Java集合框架中的一个接口实现类,基于动态数组实现,提供了按索引访问元素的高效性能。你可以通过增删改查(Add、Remove、Set、Get)等基本操作来管理ArrayList中的元素。在day20的代码中,可能会包含...

    java泛型集合 java集合 集合 java Collection

    Java集合框架还包含了一些工具类,如`Collections`(提供了对集合的各种操作,如排序、填充和反转)、`Comparator`(用于自定义元素比较逻辑)和`Iterator`(遍历集合元素的接口)。 至于集合排序,Java提供了两种...

    Java集合框架总结

    Java集合框架是Java编程中不可或缺的一部分。通过理解这些接口和类的特性及其相互间的关系,可以更高效地编写出健壮的应用程序。同时,合理利用抽象类和迭代器等工具能够进一步提高代码的质量和可维护性。

    java集合详解.pdf

    * removeAll(Collection<?> c):删除集合中的所有元素。 * clear():清空集合中的所有元素。 1.2.2 迭代器 迭代器是 Collection 接口中的一个重要概念,它允许开发者遍历集合中的所有元素。迭代器可以使用 hasNext...

    Java集合排序及java集合类详解

    Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的接口和类。在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java...

    Java集合思维导图.xmind.zip

    Java集合框架是Java编程语言中不可或缺的一部分,它提供了一组高效的数据结构和算法,使得开发者可以方便地存储和管理对象。这份"Java集合思维导图.xmind.zip"压缩包文件,显然旨在帮助学习者深入理解Java集合框架的...

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等...

    java 集合部分笔记

    Java集合框架是Java编程语言中用于存储和操作对象的工具,它提供了多种数据结构,如列表、集、映射等,以适应不同的数据处理需求。集合类通常位于`java.util`包下,是Java程序员必备的知识点。 1. **集合的概述** ...

    实验七:Java集合与泛型

    Java集合框架是Java编程语言中用于存储和管理对象的核心组件,它包括了各种接口和类,为处理数据提供了丰富的选择。在本次实验中,我们深入学习了Java集合框架中的两个主要部分:List接口和Map接口,以及它们的主要...

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

    这篇教程将深入讲解如何在Java集合中删除指定元素,包括源代码实例和详细指导。我们将会探讨ArrayList、LinkedList、HashSet和HashMap等常见集合类的删除操作,并理解它们的区别。 首先,让我们从ArrayList开始。...

    实验05 Java集合.doc

    Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了一组高级的数据结构,使得开发者能够更方便地管理和操作对象。在本次实验中,我们主要关注了三个主要的集合接口:Set、List和Map,以及它们的一些常见...

    Java集合详解,详细讲解java的集合类

    Java集合框架是Java编程语言中的核心部分,它提供了一种高效、灵活的方式来组织和操作对象的集合。在Java中,集合主要分为两大类:Collection和Map。本文将深入讲解Java集合类,特别是Collection接口和其下的List、...

    java集合使用大全

    迭代器其实就是从集合中取元素的方式:每个集合都有取元素的方法,但是取元素不足以用一个方法来描述,所以就将取元素封装成一个 Iterator 接口类。每个集合都有迭代器。迭代器其实就是集合的内部类(该类实现 ...

Global site tag (gtag.js) - Google Analytics