遍历删除List中的元素,会报错?
经常会碰到遍历集合,然后删除里面的对象报错, 纠结半天, 百度了一下,有大神说不能用for-each, for , 只能用迭代器,真的吗? 我就删成功了呢,看代码,请大神们指正!
public static void main(String[] args) {
        //添加
        List<String> names = new ArrayList<String>();
        names.add("张三");
        names.add("李四");
        names.add("王五");
        // 遍历显示
        for (int i = 0; i < names.size(); i++) {
            System.out.println(names.get(i));
        }
        //查找
        if (names.indexOf("李四") >= 0 ){
            System.out.println("李四的位置是:"+ names.indexOf("李四"));
        }
//-------------失败--------
        // foreach删除:报错
//        for (String name: names){
//            names.remove(name);
//        }
        // 从小到大删除 0-》1-》2:失败!
//        names.remove(0);
//        names.remove(1);
//        names.remove(2);
//-------------失败--------    
        // 从大到小删除 2-》1-》0:成功!
        names.remove(2);
        names.remove(1);
        names.remove(0);
        // 重新添加新内容
        names.add("aaaaaaa");
        names.add("bbbbbbb");
        names.add("bbbbbbb");
        // 遍历并删除:从大到小循环删除
        for (int i = names.size(); i > 0; i--) {
            names.remove(i-1);
        }
        names.add("99999");
        names.add("88888");
        names.add("77777");
        //使用迭代器删除
        Iterator<String> iterator = names.iterator();
        while(iterator.hasNext()){
            iterator.next();
            iterator.remove();
        }
        if (names.isEmpty()) {
            System.out.println("集合为空");
        }
    }
遍历删除List中的元素,会报错?的更多相关文章
- 正确遍历删除List中的元素方法(推荐)
		遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合 ... 
- 如何正确遍历删除List中的元素
		遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合 ... 
- 如何正确遍历删除List中的元素,你会吗?
		遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合 ... 
- 如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)
		遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 其中使用普通for循环容易造成遗漏元素的问 ... 
- Java中如何优雅地删除List中的元素
		在工作中的许多场景下,我们都会使用到List这个数据结构,那么同样的有很多场景下需要删除List中的某一个元素或某几个元素,那么我们该如何正确无误地删除List中的元素的,今天我来教大家三种方式. 前 ... 
- LintCode之删除链表中的元素
		题目描述 我的代码 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode n ... 
- webdriver中定位元素,报无法找到元素的问题
		webdriver中定位元素,报无法找到元素的问题时,需要查看以下几点: 1 用火狐的firebug插件定位元素,确保这个元素的定位正确: 2 在火狐的firebug插件的,在html页签中输入fra ... 
- Java 删除ArrayList中重复元素,保持顺序
		// 删除ArrayList中重复元素,保持顺序 public static List<Map<String, Object>> removeDuplicat ... 
- HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
		一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ... 
随机推荐
- 【Python学习之三】函数的参数
			在学习Python的过程中,我认为Python函数是很重要的一部分.其中参数的类型和数量,是一个比较容易弄混乱的点. 1.一般参数 首先,写一个计算两个数的和的函数: def addNum(x, y) ... 
- v2ex站长专访 - 100offer专访Livid:不仅仅是V站站长
			转载自: https://www.douban.com/group/topic/121611313/ 前几天上网时偶然发现v2ex站长的blog(https://livid.v2ex.com/),了解 ... 
- virtualbox安装win7系统报错(“FATAL:No bootable medium found!”)
			virtualbox属于傻瓜式安装虚拟系统,但博主安装win7系统时,无论怎么调试都还是出现截图所述样式,网上教程很多,但是都不行,其实只有一个根本原因安装的iso镜像不是原生镜像,下载的镜像已经是被 ... 
- Python基础——模块与包
			在Python中,可以用import导入需要的模块.包.库.文件等. 把工作路径导入系统路径 import os#os是工作台 import sys#sys是系统 sys.path.append(os ... 
- Python中的端口协议之基于UDP协议的通信传输
			UDP协议: 1.python中基于udp协议的客户端与服务端通信简单过程实现 2.udp协议的一些特点(与tcp协议的比较) 3.利用socketserver模块实现udp传输协议的并 ... 
- Python中re(正则表达式)模块使用方法
			Python中常用的正则表达式处理函数: re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. import re text = "JGood ... 
- Mysql中的联合索引、前缀索引、覆盖索引
			索引 索引是一种特殊的文件,它们包含着对数据表里所有记录的引用指针.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 联合索引 又名复合索引,由两个或多个列的索引.它规定了mys ... 
- Ubuntu简单指令和热键的学习
			Ubuntu查看本机版本的方法 sudo lsb_release -a即可 注销linux: 输入:exit 注意,离开系统不是关机,基本上,linux本身已经有相当多的工作进行,所以你离开时,这次这 ... 
- Java项目引入eclipse注意事项
			我以前也搞过java,后转前端,接触html+css+js时间比较多,所以java后端也忘了差不多.最近负责公司的邮件系统项目,项目是java语言写,项目架构比较复杂,在部署项目的时候,遇到了很多问题 ... 
- 《Effective Java》笔记 :(一)创建和销毁对象
			一 .考虑用静态工厂方法代替构造器 1. 静态工厂方法与设计模式中的工厂方法模式不同,注意不要混淆 例子: public static Boolean valueOf(boolean b){ retu ... 
