首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中组合两个排序的数组,同时跟踪单个索引?

在java中组合两个排序的数组,同时跟踪单个索引?
EN

Stack Overflow用户
提问于 2011-06-28 22:58:07
回答 2查看 800关注 0票数 0

我有两对数组。在每对数组中,一个数组包含引用另一个结果数组的索引值,而第二个数组包含分数。这些都是经过排序的,因此例如在第一对中,我可以从Array-2中选择3个最好的高分,它们将分别对应于索引3、7和4。

现在的想法是组合这样的对,例如Pair-1和Pair-2,对它们进行排序,然后选择3个最佳值。

如下图所示,在结果中的排序值数组中,前两个最高值对应于来自对2的数组中的索引号1和6,而第三个值对应于来自对-1的数组的索引3。

如果你能告诉我如何在排序结果中跟踪各个数组的索引号,那就太好了。我知道如何对它们进行排序,但真的不知道如何跟踪这些单独的数组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-28 23:22:40

在对象中思考。

如果您创建了一个具有索引、值和源数组属性的Pair对象,则可以使其对值执行Comparable操作。

从您的数组创建Pair对象,将它们放在List中,然后对其执行sort

票数 2
EN

Stack Overflow用户

发布于 2011-06-28 23:04:15

你试过Hashtable吗?

代码语言:javascript
复制
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]));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6508510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档