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

2016-02-19 09:09 7 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐删除JAVA集合中元素的实现代码,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

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

代码如下:

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

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

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

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

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

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

代码如下:

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

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

来源:https://www.tulaoshi.com/n/20160219/1589723.html

延伸阅读
代码如下: public static void main(String[] args) {   String str = null;   str = "顾亮";   System.out.println("Spell=" + toJP(str));  }  public static String toJP(String c){      char[] chars = c.toCharArray();      StringBuffer sb = new StringBuffer...
代码如下: package com.blogs.image; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; imp...
标签: Web开发
下面我们来看下这个例子吧! 代码如下: html head titlejqueryDemo:quanjiaoNum/title script src="jquery.js" src="jquery.js" type="text/javascript"/script script type="text/javascript"!-- function changeNum(){ var qjNum=$("input[@name=qjNum]").val(); var toAscii=qjNum.charCodeAt(); if(toAscii 65295 && toA...
标签: Web开发
代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head titlejquery分页控件/title script src="jquery-1.3.min.js" type="text/javascript"/script /head body div class="pager"/div !--div s...
标签: Web开发
与现在那些Ajax框架比较,优劣之处?看完再说吧: 1、Ajax.js 代码如下: /*     AJAX v1.4     HJF 2009-7-5 */ function AjaxDO(){     this.HttpRequest = null;     this.openMethod = null; //HTTP请求的方法,为Get、Post 或者Head  ...

经验教程

175

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部