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

云鹏艺术社

云鹏艺术社

2016-02-19 09:09

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐删除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);
  }

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

代码如下:

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

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
删除JAVA集合中元素的实现代码

Java Annotation(Java 注解)的实现代码

编程语言 网络编程
Java Annotation(Java 注解)的实现代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java开发之闹钟的实现代码

编程语言 网络编程
java开发之闹钟的实现代码

java 图片验证码的实现代码

编程语言 网络编程
java 图片验证码的实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JScript内置对象Array中元素的删除方法

Web开发
JScript内置对象Array中元素的删除方法

java 获取数据库连接的实现代码

编程语言 网络编程
java 获取数据库连接的实现代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

根据ID填充文本框的实例代码

根据ID填充文本框的实例代码

如何在PowerPoint中插入网页

如何在PowerPoint中插入网页
下拉加载更多内容 ↓