gpt4 book ai didi

java - 如何按降序对数组进行排序以及对数组进行排序有哪些不同选项?

转载 作者:行者123 更新时间:2023-12-01 17:27:02 24 4
gpt4 key购买 nike

我已经尝试这样做有一段时间了,但我做不到。

如何将默认的升序更改为降序?另外,还有其他简单的方法可以对数组进行排序吗?

HighScore[] highscorelist = new HighScore[10]; // An array of 10

void setup() {
size(800, 600);

// score.txt is:
//10 -
//0 -
//0 -
//3 b

String rows[] = loadStrings("scores.txt");

for (int i = 0; i < highscorelist.length; i ++ ) { // Initialize
String[] pieces = split(rows[i], TAB);
highscorelist[i] = new HighScore(parseInt(pieces[0]), pieces[1]);
}
Arrays.sort(highscorelist, new SortHighScore());
}

void draw() {
fill(0);
textSize(18);
text("High Scores", 360, 234);
text("Name", 300, 260);
text("Score", 460, 260);
int x = 320;
int y = 290;


//Arrays.sort(highscorelist, new SortHighScore("score"));
for (int i =0; i < 10; i++) {
highscorelist[i].display(x, y, 150);
y+=20;
}
}


class HighScore {
int score;
String name;

HighScore() {
}

HighScore(int tempscore, String tempname) {
score = tempscore;
name = tempname;
}

void display(int x, int y, int gapX) {
text(score, x+gapX, y);
text(name, x, y);
}
}

class SortHighScore extends HighScore implements Comparator {

SortHighScore() {
}

/*
method which tells how to order the two elements in the array.
it is invoked automatically when we call "Arrays.sort", and must be included in this class.
*/
int compare(Object object1, Object object2) {

// cast the objects to your specific object class to be sorted by
HighScore row1 = (HighScore) object1;
HighScore row2 = (HighScore) object2;


// necessary to cast to Integer type when comparing ints
Integer val1 = (Integer) row1.score;
Integer val2 = (Integer) row2.score;

// the "compareTo" method is part of the Comparable interface, and provides a means of fully ordering objects.
return val1.compareTo(val2);
}
}

最佳答案

Arrays.sort(array,Collections.reverseOrder());

关于java - 如何按降序对数组进行排序以及对数组进行排序有哪些不同选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074362/

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