gpt4 book ai didi

java - 如何连接两个不同的阵列?

转载 作者:行者123 更新时间:2023-11-30 07:52:58 25 4
gpt4 key购买 nike

如果我有一组名称和一组单圈时间,我将如何链接这两个数组,以便对时间进行排序并仍然保留关联的名称?这就是两个数组的样子:

String[] names = { "Paul", "Dan", "Hayden", "Sam", "Pauline"};
int[] times = { 341, 273, 278, 329, 445 };

到目前为止,我运行了一个选择排序算法来获得最低时间到最高时间,但我不知道如何让 paul 连接到 341。

我不想连接两个数组,我希望能够对时间数组进行排序,然后调用与特定时间关联的名称。

最佳答案

对时间数组进行排序,并将两个数组中的元素位置交换在一起,这样当交换发生时,它将保持时间和名称数组之间的链接,这是为此的程序,我按降序排序

public static void main(String[] args){
String[] names = { "Paul", "Dan", "Hayden", "Sam", "Pauline"};
int[] times = { 341, 273, 278, 329, 445 };


for(int outerIndex = 0; outerIndex < times.length; outerIndex++){
for(int innerIndex = outerIndex+1; innerIndex < times.length; innerIndex++){
if(times[outerIndex]<times[innerIndex]){
swap(outerIndex, innerIndex, names, times);
}
}
}
}

这里我交换两个数组中的元素位置:

public static void swap(int outerIndex, int innerIndex, String[] names, int[] times){
int tempTime;
String tempName;

tempTime = times[outerIndex];
tempName = names[outerIndex];

times[outerIndex] = times[innerIndex];
names[outerIndex] = names[innerIndex];

times[innerIndex] = tempTime;
names[innerIndex] = tempName;
}

输入:

String[] names = { "Paul", "Dan", "Hayden", "Sam", "Pauline"};

int[] times = { 341, 273, 278, 329, 445 };

输出:

String[] names = {"Pauline", "Paul", "Sam", "Hayden", "Dan"};

int[] times = { 445, 341, 329, 278, 273};

关于java - 如何连接两个不同的阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33094001/

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