【发布时间】:2017-08-11 04:18:59
【问题描述】:
我有一个 .txt 文件,其中包含人们的姓名和他们在游戏中获得的分数,例如。
2 John
6 Matt
etc.
我试图按照得分最高的人(他们名字旁边的数字)的顺序来组织他们。我可以使用子字符串获取整数,然后使用Collections.sort,但我不确定如何将其与名称联系起来。
如果有人有任何聪明的想法,请帮忙!我目前拥有它,因此所有分数/名称都被读入一个 ArrayList,例如:{2 John, 3 Matt}
【问题讨论】:
-
您可以实现一个“包含”分数和球员姓名的类
PlayerScore,并将该类的实例放入您的ArrayList。但是,在对自定义类进行排序时,您可能会遇到另一个问题,但请随时提出另一个问题。 -
我知道这可能有点矫枉过正,但我会将每个名称表示为一个对象,即“2 john”将是一个人员对象,其中一个 int 用于保存数字和字符串名称以保存他们的名字。 C# 结构本来是最适合这个的,但由于 Java 没有结构,在如此小的数据上实现它显然是一种矫枉过正,但它会起作用。那么您可以将所有对象插入到您的 ArrayList 中,然后线性搜索最高得分者并将该人对象存储到另一个列表中,但不要忘记从包含无序数据的 arraylist 中删除最高得分者。
-
你能贴出你试过的代码吗?