gpt4 book ai didi

java - 在 Java 中同时对三个 ArrayLists 进行排序的最有效方法是什么

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:12 25 4
gpt4 key购买 nike

我有三个 ArrayListsStrings 中的一个 - 名称,以及 Integers 中的两个 - 分数和图片编号。我想按玩家得分(从最高到最低)同时对它们进行排序。现在我使用一个简单的冒泡排序,但我认为当 Lists 变大时它不会有效。

这是我的代码:

public class MyBubbleSort {

public static void bubble_srt(List<Integer> score, List<String> name, List<Integer> pic) {
int n = score.size();
int k;
for (int m = n; m >= 0; m--) {
for (int i = 0; i < n - 1; i++) {
k = i + 1;
if (score.get(i) < score.get(k)) {
swapNumbers(i, k, score, name, pic);
}
}
printNumbers(score);
}
}

private static void swapNumbers(int i, int j, List<Integer> score, List<String> name, List<Integer> pic) {

int temp;
temp = score.get(i);
score.set(i, score.get(j));
score.set(j, temp);

String s;
s = name.get(i);
name.set(i, name.get(j));
name.set(j, s);

int p;
p = pic.get(i);
pic.set(i, pic.get(j));
pic.set(j, p);

}

private static void printNumbers(List<Integer> input) {

for (int i = 0; i < input.size(); i++) {
System.out.print(input.get(i) + ", ");
}
System.out.print("\n");
}

}

谢谢!

最佳答案

最好的方法是创建一个包含分数、名称和图片属性的类,并有一个该类的列表,您可以使用 Collections.sort 和一个 Comparator 根据分数属性比较你的类的两个实例。

与其他排序算法(归并排序、快速排序)相比,冒泡排序效率低下,并且您无需自己实现排序算法,因为标准 Java 包已经为您完成了。

关于java - 在 Java 中同时对三个 ArrayLists 进行排序的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283504/

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