如何对二维数组进行排序并跟踪数组索引?

时间:2016-12-12 21:51:52

标签: java arrays sorting multidimensional-array

我有一个有500行和250列的2d数组。

{ 0,  1,  2,  3, ... 250
  1,  1,  1,  1,
  2,  2,  2,  2,
  ...
  500
}

我想按列对值进行排序,并能够跟踪原始索引的行位置。

我该怎么做?以前当我只使用一个列时,我使用了比较器功能,但是现在它看起来不是一个可行的选择。

非常感谢,我一定会选择最佳答案。

1 个答案:

答案 0 :(得分:0)

实现这一目标的最简单方法是使用数据结构来存储原始索引和值:

class Entry implements Comparable<Entry>{
    public int index;  //proper OOP would require using encapsulation, but for 
    public int value;  //demonstration I'll just use direct variable access

    public int compareTo(Entry e){
        return Integer.compare(value, e.value);
    }
}