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();
        }
    }
  • 相关阅读:
    ORA-28040: No matching authentication protocol
    kettle增量抽取数据--高效抽取方式
    为什么MySQL的索引要使用B+树而不是其它树形结构?比如B树?
    echarts饼图指示线文字换行
    数据库概论
    Java学习笔记
    案例分析
    软件工程作业3
    软件工程作业2
    软件工程作业1
  • 原文地址:https://www.cnblogs.com/yt975548/p/8259516.html
Copyright © 2011-2022 走看看