我有两对数组。在每对中,一个数组包含引用另一个结果数组的索引值,而第二个数组包含分数。这些是排序的,因此例如在第一对中,我可以从Array-2中选择3个最佳高分,并且它们将分别对应于索引3,7和4。
现在的想法是组合这些对,例如Pair-1和Pair-2,对它们进行排序,然后选择3个最佳值。
就像你看到下面的图片一样,在结果中的排序值数组中,前两个最高值对应于来自Pair-2的数组中的索引号1和6,而第三个值对应于来自Pair-1的数组的索引3。
如果你能给我一些关于如何跟踪排序结果中各个数组的索引号的信息,那将是很好的。我知道如何对它们进行排序,但实际上不知道如何跟踪这些单独的数组。
答案 0 :(得分:2)
答案 1 :(得分:0)
你试过Hashtable吗?
Hashtable<Integer, Pair> sortedTable = new Hashtable<Integer, Pair>();
for (int i = 0; i < firstArray.length; i++) { //if the 2 arrays are equal in length
sortedTable.put(sortedTable.size(), new Pair(firstArray[i], secondArray[i]));
}