gpt4 book ai didi

java - 如何 "minify"数组 - Java

转载 作者:搜寻专家 更新时间:2023-11-01 01:13:52 24 4
gpt4 key购买 nike

假设我创建了一个包含 5 个空格的数组,就像这样 - String[] myArray = new String[5]。然后假设我定义了其中一些项,但将其中一些保留为空(或者 Java 术语用于未定义的数组项/变量),如下所示:

myArray[0] = "foo";
myArray[2] = "bar";
myArray[4] = "foobar";

有没有一种方法可以“缩小”该数组,挤出所有空项(不改变它的大小)?这样“foo”的索引保持在 0,但“bar”的索引变为 1,而“foobar”位于 2,最后 2 个空格为空?长话短说 - 随机排列数组中的项目,将所有空项目推到最后,同时保持其他项目的相对顺序。是否已经为此预定义了 Java 方法,还是我需要自己制作?

最佳答案

您可以使用以下方法(没有 Collections 实例的开销):

import java.util.Arrays;

public class ArraySample {

public static void main(final String[] args) {
String[] src = new String[] { "foo", null, "bar", null, "foobar" };
String[] dest = new String[src.length];

int i = 0;
for (String s : src) {
if (s != null) {
dest[i++] = s;
}
}

System.out.println(Arrays.toString(src));
System.out.println(Arrays.toString(dest));
}

}

关于java - 如何 "minify"数组 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11176459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com