gpt4 book ai didi

java - 移动二维数组中的某个元素

转载 作者:行者123 更新时间:2023-11-29 07:26:01 27 4
gpt4 key购买 nike

给定一个二维数组。如果 [i][0] == name,如何将它移动到数组的最后一个元素?

String[][] array2d = [ [continents, name, Asia, Europe, Africa, Australia, South America, North America, Antartica],
[profession, Teacher, Doctor, Lawyer],
[brand, Apple, Samsung],
[name, Lisa, Peter, Sam, Jake],
[profession, Engineer, Professor, Dentist, Driver],
[sex, value, Male, Female],
[exp, value, 1, 2, 3, 4, 6]]

我想要的输出是

[ [continents, name, Asia, Europe, Africa, Australia, South America, North America, Antartica],
[profession, Teacher, Doctor, Lawyer],
[brand, Apple, Samsung],
[profession, Engineer, Professor, Dentist, Driver],
[sex, value, Male, Female],
[exp, value, 1, 2, 3, 4, 6],
[name, Lisa, Peter, Sam, Jake]
]

下面是代码

 String[][] newArray =new String[array2d.length][];

for (int i = 0; i < newArray.length; ++i) {
newArray[i] = new String[array2d[i].length];
for (int j = 0; j < newArray[i].length; ++j) {
if (array2d[i][0] != "name") {
newArray[i][j] = array2d[i][j];
}
}
}

然而,输出是

[[continents, name, Asia, Europe, Africa, Australia, South America, North America, Antartica],
[profession, Teacher, Doctor, Lawyer],
[brand, Apple, Samsung],
[null, null, null, null, null],
[profession, Engineer, Professor, Dentist, Driver],
[sex, value, Male, Female],
[exp, value, 1, 2, 3, 4, 6]]

谢谢!

最佳答案

首先备份最后一个元素(它是一个一维数组),将你的数组最后一个元素作为 var 深度复制到一个临时变量)然后将你选择的(它是一个一维数组)元素复制到数组的最后一个元素。最后将备份的最后一个元素复制到数组的所选元素中。这是伪代码。

if(array[i][0] == name){  

var = deepCopy(array[last]
array[last] = deepCopy(array[i])
array[i] = var

}

This link关于深拷贝

关于java - 移动二维数组中的某个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52619977/

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