现在我有一个方法可以从2D数组中获取数据,将其抛入Arraylist然后让我只从该Arraylist中检索我想要的特定部分。
下面的代码循环遍历races
Arraylist并将参赛者,他们参与的总次数和事件数放入一个数组中,但无论如何都是无序的。
if (!Found && selected.equals(race.GetCat()))
{
ranking[j][0] = race.GetComp();
ranking[j][1] = race.GetCat();
ranking[j][2] = (GetSecs(race.GetRace1()))
+ (GetSecs(race.GetRace2()))
+ (GetSecs(race.GetRace3())) + "";
n++;
};
Found= false;
for (int i = 0; i < locations.size(); i++)
{
for (Race race: races)
{
if (race.GetComp().equals(array[i][0]) && option.equals(array[i][1]))
{
seconds += (GetSes(race.GetRace1()))
+ (GetSes(race.GetRace2()))
+ (GetSes(race.GetRace3()));
total= GetMin(seconds);
counter++;
}
ranking[i][2] = total2 + "";
ranking[i][3] = counter + "";
}
}
所以排名打印出像
RACER TOTAL TIME EVENTS TAKING PART IN name 230.44 2 name 142.51 4 name 523.01 7 name 444.55 2 name 432.18 4
并排序排名(String)数组,以便通过事件的数量或比赛的总时间进行排序并不会太困难。
但是,不止一个赛车手会参加相同数量的赛事,所以我想知道为了根据赛事数量订购阵列需要经过哪些流程或代码,然后检查看看哪些排名分享了事件的数量,然后根据总时间最低来切换它们
所以排名分类如
george 500 5 john 400 5 george 500 4 david 300 3 carl 200 3
的排序方式如
john 400 5 george 500 5 george 500 4 carl 200 3 david 300 3
如果有可能的话。我可以将它们放入一个数组中,甚至可以按一个特定的列对它们进行排序,但是如果第一列有数字那么将它们排序为一个,然后按另一个进行排序是完全相同的,如果任何这个帖子都有意义的话。
答案 0 :(得分:0)
退房: