zoukankan      html  css  js  c++  java
  • ArrayList 如何完美去除空值

    package sourceCode.ArrayList;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class arrayListTest {
    
    	public static void main(String[] args) {
    		ArrayList<String> list = new ArrayList<String>();
    		list.add("a");
    		list.add("b");
    		list.add("c");
    		list.add(null);
    		list.add(null);
    		list.add(null);
    		list.add(null);
    		list.add(null);
    		list.add(null);
    		list.add("d");
    		list.add(null);
    		// 正解
    		List<String> list2 = new ArrayList<String>();
    		list2.add(null);
    		list.removeAll(list2);
    		// 错解
    		/**
    		 * 可能有人会这样操作,但这方法是错的。 因为ArrayList是基于数组实现的,当remove(E)一个元素时,剩下的元素下标就会变化
    		 * 比如当前例子,index=3的时候,remove 掉了 null,此时下一个元素(null)向前挪,它的index就变成了3
    		 * 而此时迭代器的i已经走完了3,下一次循环就是4了 ,所以此刻这个null就永远无法remove掉了。
    		 */
    		for (int i = 0; i < list.size(); i++) {
    			if (list.get(i) == null || list.contains(null)) {
    				list.remove(null);
    			}
    		}
    	}
    }
    
  • 相关阅读:
    html5-css渐变色
    html5-css综合练习
    html5-css背景
    html5-css边框全
    html5-css边框img
    进程控制(二)与linux下的自有服务
    进程检测与控制(一)
    权限及软件包管理
    linux下文件权限管理
    vim及用户组管理
  • 原文地址:https://www.cnblogs.com/yesiamhere/p/6600120.html
Copyright © 2011-2022 走看看