繁体   English   中英

Java中的数组列表

[英]Array Lists in java

有没有办法仅通过内置函数调用来删除ArrayList中的所有空单元格? 我看到trimToSize但是我并没有真正理解它的意思。

例如,假设我有一个包含{1,2,3}的数组。 可以说我说array.remove(1)所以现在数组看起来像{1,null,3} 是否有要调用的函数使其收敛为{1,3}

我知道我可以硬编码一种方法为我做到这一点,但我只是很好奇。

正是remove作用

删除此列表中指定位置的元素。 将所有后续元素向左移动(从其索引中减去一个)。

现在,如果您在谈论数组,而不是ArrayList ,那么答案是否定的。

如果您使用的是ArrayList,则无需担心在从数组中删除元素后对其进行压缩。 ArrayList类负责这种内部管理。

如果使用数组,则可以使用Commons Lang ArrayUtils类。 此类中的removeElement方法简化了从数组中删除元素并将其后的所有元素向左移动的过程。

这里,您可以找到一个帖子,其中显示了如何删除集合中的所有空元素

    List<Integer> myList = new ArrayList<Integer>();

    myList.add(1);
    myList.add(2);
    myList.add(null);
    myList.add(3);
    myList.add(null);
    myList.add(4);

    System.out.println("With null values");
    for(Integer i: myList)
        System.out.println(i);

    myList.removeAll(Collections.singleton(null));              

    System.out.println("After deleting null values");
    for(Integer i: myList)
        System.out.println(i);

输出: 具有空值 1 2空3空4

删除空值后 1 2 3 4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM