按特定列对多个类型的多维数组进行排序

时间:2015-05-28 21:59:50

标签: java sorting multidimensional-array

我有一个多维字符串数组。它包含数字和字符串。有没有办法按特定的整数列对其进行排序? 例如我有这个:

  1. Fox | 32 |一个
  2. 狗| 45 |两个
  3. 猫| 34 |三
  4. Snake | 3 |四
  5. 我想按整数列对这个String数组进行排序。 例如:

    1. 狗| 45 |两个
    2. 猫| 34 |三
    3. Fox | 32 |一个
    4. Snake | 3 |四
    5. 我试过这个,但它需要整数数组。

      Arrays.sort(temp, new Comparator<int[]>() {
      @Override
      public int compare(int[] o1, int[] o2) {
          return Integer.compare(o2[1], o1[1]);
      }});
      

1 个答案:

答案 0 :(得分:1)

这解决了您的问题:(已更新)

public static void main(String[] args) {
    String[][] temp = {
        { "Fox", "32", "One" },
        { "Dog", "45", "Two" },
        { "Cat", "34", "Three" },
        { "Snake", "3", "Four" }
    };

    Arrays.sort(temp, new Comparator<String[]>() {
        @Override
        public int compare(String[] row1, String[] row2) {
            return Integer.compare(
                    Integer.parseInt(row1[1]), Integer.parseInt(row2[1]));
        }
    });

    System.out.println(Arrays.deepToString(temp));
}