【发布时间】:2018-05-17 10:16:49
【问题描述】:
我是 java 新手(并且不太擅长解释,但我会尽力而为),并且在我的任务中,我必须根据数组 1 排序对其他数组进行排序。 假设我们有三个二维数组并根据名称数组对其进行排序:
String[][]Names = { {"Bob", "James", "Mary", "Felix"}, {"Calvin", "Kurt", "Chris", "Ethan" } };
int[][]Age = { {19, 20, 30, 33} , {20, 31, 51, 43} };
Double[][]Hours_Worked = { {19.5, 20.4, 39.9, 25.2} , {5.5, 10.9, 15.2, 20.9} };
然后,一旦它被排序,其他数组就会跟随输出中的值:
Bob : 19 : 19.5
Calvin : 20 : 5.5
Chris : 31 : 10.9
我必须做什么才能实现这一目标?
【问题讨论】:
-
请求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的摘要,以及对您在解决它时遇到的困难(help center,How to Ask)。
-
对第一个数组进行排序。之后迭代它并分配其他值的所有值。应该相对容易,因为您拥有迭代第一个数组的所有索引,并且可以将它们放入其他数组中。当然,您需要某种额外的数据结构来创建链接。例如
PersonData类。然后是List<PersonData>。 -
请遵守命名约定。变量名以小写字母开头,类以大写字母开头。此外,您可能想使用
double而不是Double(这是不同的)。 -
或者您还想更改其他阵列的顺序吗?在这种情况下,我建议暂时将 everything 移动到容器中,例如
List<PersonData>。然后根据名称对该列表进行排序。之后,如果您真的需要数组,则从中重新创建数组。 -
@Zabuza 感谢您的建议,是的,我要做的是在对第一个数组进行排序后更改其他数组的顺序。所以基本上我需要做的就是将其他数组添加到临时列表中并重新排序列表?
标签: java arrays sorting indexing