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();
        }
    }
  • 相关阅读:
    sql server 查询数据判断为空
    sql 排序
    ASP.NE 上传文件控件
    JQ 获取下一个元素和获取下一个元素的[指定]子元素
    sql server 查询时间 格式化输出
    ASP.NET 页面验证cookie
    ASP.NET MD5加密
    HTML编辑器ASP.NET
    Repeater控件
    20150215-情愿
  • 原文地址:https://www.cnblogs.com/yt975548/p/8259516.html
Copyright © 2011-2022 走看看