/**
* 要求:去掉List中为 0 的元素
*/
//创建数组和空List
Integer[] ars = {1,0,0,0,5,0,8,9,0,0,0,65,3,0,0};
List<Integer> lists = new ArrayList<Integer>(ars.length);

//数组转为List
Collections.addAll(lists, ars);

1、//list.remove(Object o); 只去掉了第一次出现的 0,不可用
    lists.remove((Integer) 0);

2、

//用for循环试试
for (int i = 0; i < lists.size(); i++) {

if(lists.get(i) == 0)
{
lists.remove(i);
}
}

结果悲剧,还有一个 0 没有去掉。。。。。

3、为什么呢?

原因:List是有序集合,每个元素都有自己的下标,当remove掉一个后,下一个会补位,补上来的这个数就得不到恩惠,不能雨露均沾了

改进一下:

for (int i = 0; i < lists.size(); i++) {

if(lists.get(i) == 0)
{

//如果remove掉一位,后面的值补上,再检查一次这个位置的值
lists.remove(i);
i --;
}
}

4、到此就成功了,雨露均沾

遍历List remove方法,雨露均沾的更多相关文章

  1. 雨露均沾的OkHttp—WebSocket长连接的使用&源码解析

    前言 最近老板又来新需求了,要做一个物联网相关的app,其中有个需求是客户端需要收发服务器不定期发出的消息. 内心OS:

  2. Java基础(37)ArrayList的remove方法

    1.问题描述 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 输入: s = "abcd& ...

  3. EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

    前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...

  4. Python列表的remove方法的注意事项

    为何没有删除列表中的全部元素? 解释: 按照执行顺序,第一个空格被删除之后,后面的元素会前移(变成['空格','空格','12','23']),指针下一次会指向新列表的第二个元素(即初始状态的第三个空 ...

  5. list集合的遍历3种方法

    package com.sort; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** ...

  6. 遍历并remove HashMap中的元素时,遇到ConcurrentModificationException

    遍历并remove HashMap中的元素时,遇到ConcurrentModificationException for (Map.Entry<ImageView, UserConcise> ...

  7. ThreadLocal源码分析:(三)remove()方法

    在ThreadLocal的get(),set()的时候都会清除线程ThreadLocalMap里所有key为null的value. 而ThreadLocal的remove()方法会先将Entry中对k ...

  8. Java连载85-集合的Contains和Remove方法

    一.包含与删除两种方法解析 1.boolean contains(Object o);判断集合中是否包含某个元素. package com.bjpowernode.java_learning; imp ...

  9. List 重载添加-add,删除-remove方法,以及获取子集方法

    package seday12; import java.util.ArrayList;import java.util.List; /*** @author xingsir* List重载了一对ad ...

随机推荐

  1. mediawiki 的使用

    首先,程序里会先加载 includes/DefaultSettings.php,然后再加载 LocalSettings.php,这样定义一些权限.其中 DefaultSettings.php 是默认的 ...

  2. 数据库 CHECKDB 发现了x个分配错误和 x 个一致性错误

    --1.在SQL查询分析器中执行以下语句:(注以下所用的POS为数据库名称,请用户手工改为自己的数据库名) use pos dbcc checkdb --2.查看查询结果,有很多红色字体显示,最后结果 ...

  3. 【LeetCode】 Subsets

    Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be ...

  4. HDU 4496 D-City (并查集)

    题意:给定一个图,问你每次删除一条边后有几个连通块. 析:水题,就是并查集的运用,倒着推. 代码如下: #include <cstdio> #include <string> ...

  5. 16.ARC

    Swift 使用自动引用计数(ARC)机制来跟踪和管理应用程序的内存.通常情况下,Swift 内存管理机制会一直起作用,我们无须自己来考虑内存的管理.ARC 会在类的实例不再被使用时,自动释放其占用的 ...

  6. JSP中的TAG

    http://blog.csdn.net/hongweigg/article/details/12006849 JSP标签有两种实现方法,一种是使用tag 文件,一种是使用tld文件. 1.使用tag ...

  7. js 判断pc与手机

    var u = navigator.userAgent; if ((u.indexOf('Mac') > -1 || u.indexOf('Windows') > -1) &&am ...

  8. vc6.0 通过ADO(udl)连接sql 2008

    转载声明:本文转自http://blog.sina.com.cn/s/blog_7328b9dd0100pkbw.html茗之的博客   首先声明:本文是针对vc与sql菜鸟的,高人请让路. 本文讲解 ...

  9. Android studio启动后无法更新

    I'm trying to run android-studio 1.0 on ubuntu using start up script but as i'm behind proxy the and ...

  10. PostgreSQL停止动作观察

    实验过程如下: 启动一个客户端: [postgres@cnrd56 bin]$ ./psql psql () Type "help" for help. postgres=# be ...