zoukankan      html  css  js  c++  java
  • list移除对象

    list正确的移除对象方法很多博客中都有

    List<Integer> list = new ArrayList<Integer>();  
    list.add(1);  
    list.add(2);  
    list.add(2);  
    list.add(3);  
    list.add(4);  
    System.out.println("----------list大小1:--"+list.size());  
    Iterator<Integer> it = list.iterator();  
    while(it.hasNext()){  
        Integer item = it.next();  
        if (2 == item) {  
            it.remove();  
        }  
        System.out.println(item);  
    }  
    System.out.println("最后输出=" + list.toString());

    我根据如上代码,为了实现list超过2个以后remove的功能,先编写了如下代码

    if (programTypeIdList.size() > 2) {
        Iterator<String> iter = programTypeIdList.iterator();
        iter.next();
        iter.next();
        while (iter.hasNext()) {
            iter.remove();
        }
    }

    结果,如果list.size() = 3的时候就抛错了;

    在http://blog.csdn.net/u014082714/article/details/52098214博客中找到的问题的原因:

    对于iterator的remove()方法,需要我们注意的地方:

    1、每调用一次iterator.next()方法,只能调用一次remove()方法。

    2、调用remove()方法前,必须调用过一次next()方法。

    最后代码如下

    if (programTypeIdList.size() > 2) {
        Iterator<String> iter = programTypeIdList.iterator();
        iter.next();
        iter.next();
        while (iter.hasNext()) {
            iter.next();
            iter.remove();
        }
    }
  • 相关阅读:
    eclipse从接口快速跳转到实现类
    eclipse中mybatis的xml配置文件代码提示
    eclipse安装mybatis的插件
    eclipse修改默认的代码注释
    eclipse输入时自动提示
    eclipse中lombok注解不生效
    eclipse创建springboot项目
    家庭记事本(终)
    家庭记事本(6)
    人月神话(二)
  • 原文地址:https://www.cnblogs.com/yt975548/p/8259516.html
Copyright © 2011-2022 走看看