首先,我在发帖之前确实做了功课搜索。与那里发布的问题相比,我的要求似乎略有不同。
我有一个ArrayList<ArrayList<Integer>>
如下形式的矩阵
| id1 | id2 | score |
|-----|-----|-------|
| 1 | 3 | 95% |
| 1 | 2 | 100% |
| 1 | 4 | 85% |
| 1 | 5 | 95% |
| 2 | 10 | 80% |
| 2 | 15 | 99% |
我想按列对矩阵进行排序(首先使用分数,然后使用 id1)。我已经以排序方式获得了 id1。这意味着我还需要首先使用 score 对具有相同 id1 的所有记录进行排序,然后使用 id2 对所有记录进行排序。这样做的原因是在每个 id1 中创建 id2 的排名。上述示例的结果将是:
| q_id | d_id | rank | score |
|------|------|------|-------|
| 1 | 2 | 1 | 100% |
| 1 | 3 | 2 | 95% |
| 1 | 5 | 3 | 95% |
| 1 | 4 | 4 | 85% |
| 2 | 15 | 1 | 99% |
| 2 | 10 | 2 | 80% |
如何使用一些内置的集合方法在 Java 中实现这一点?