gpt4 book ai didi

java - 如何重新排列数组以使空值占据数组的开头?

转载 作者:行者123 更新时间:2023-12-02 00:37:04 25 4
gpt4 key购买 nike

我不知道如何将空元素添加到数组的前面。

有什么办法可以在不反转数组的情况下做到这一点吗?或许有具体的方法?

public static void main(String[] args) {
String[] stringArray = new String[]{"one", "two", "three"};
method(stringArray);
}

public static String[] method(String[] stringArray) {
String[] biggerStringArray = Arrays.copyOf(stringArray, stringArray.length * 2);

for (int i = 0; i < biggerStringArray.length; i++) {
System.out.print(biggerStringArray[i] + ", ");

}

return biggerStringArray;
}

我希望结果看起来像:

null, null, null, one, two, three,

而不是:

one, two, three, null, null, null

最佳答案

public static void main(String[] args) {
String[] stringArray = new String[] {"one", "two", "three"};
method(stringArray);
}

public static String[] method(String[] stringArray) {
String[] biggerStringArray = new String[stringArray.length * 2];

for (int i = 0; i < stringArray.length; i++) {
biggerStringArray[i + biggerStringArray.length / 2] = stringArray[i];
}

for (int i = 0; i < biggerStringArray.length; i++) {
System.out.print(biggerStringArray[i] + ", ");
}
return biggerStringArray;
}

编辑:刚刚记得您还可以使用 System.arraycopy :

public static String[] method(String[] stringArray) {
String[] biggerStringArray = new String[stringArray.length * 2];

System.arraycopy(stringArray, 0, biggerStringArray, biggerStringArray.length / 2, stringArray.length);

for (int i = 0; i < biggerStringArray.length; i++) {
System.out.print(biggerStringArray[i] + ", ");
}
return biggerStringArray;
}

关于java - 如何重新排列数组以使空值占据数组的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57966510/

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