java中的数组列表

java中的数组列表,java,arraylist,Java,Arraylist,是否有一种方法可以仅通过一个内置函数调用就删除ArrayList中的所有空单元格?我看到了trimToSize,但我没有真正理解它的意思 例如,假设我有一个数组,其中包含{1,2,3}。假设我说array.remove(1),那么现在数组看起来像{1,null,3}。是否有一个函数可以调用以使其收敛为{1,3} 我知道我可以硬编码一个方法来为我做到这一点,但我只是好奇而已。那就是 在指定的位置删除元素 此列表中的位置。移动任何 左边的后续元素 (从他们的指数中减去一) 现在,如果您谈论的是数组,

是否有一种方法可以仅通过一个内置函数调用就删除
ArrayList
中的所有空单元格?我看到了
trimToSize
,但我没有真正理解它的意思

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

我知道我可以硬编码一个方法来为我做到这一点,但我只是好奇而已。

那就是

在指定的位置删除元素 此列表中的位置。移动任何 左边的后续元素 (从他们的指数中减去一)


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

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

如果您使用的是数组,则可以使用该类。此类中的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);
List myList=new ArrayList();
添加(1);
添加(2);
myList.add(空);
添加(3);
myList.add(空);
添加(4);
System.out.println(“具有空值”);
for(整数i:myList)
系统输出打印LN(i);
myList.removeAll(Collections.singleton(null));
System.out.println(“删除空值后”);
for(整数i:myList)
系统输出打印LN(i);
输出: 具有空值 1. 2. 无效的 3. 无效的 四,

删除空值后 1. 2. 3.
4

你说的是数组(例如int[]foo=…)还是ArrayList(例如ArrayList=…)?单词
ArrayList
不是表示数组的随机Java术语。这是一个真正的Java类,具有真正的方法!从这里开始了解它:我认为trimToSize就是做你想做的事情。它将容量设置为与大小相同。对该问题的编辑将其更改为引用ArrayList,但从最初的问题来看,不清楚au789所指的是数组还是ArrayList。谢谢,我一定会很快接受您的回答。我比较新,所以我不知道数组列表会自动处理任何移位。
myList.removeAll(Collections.singleton(null))的+1行。你每天都在学习一件新事物,所以:)