根据 Java 中的列对二维字符串数组进行排序

Sort 2D String Array with respect to a column in Java

我有一个包含 3 列(id、名称、城市)的字符串数组,我想按照 name[ 的升序对数组进行排序=20=] 列。请帮我解决这个问题。

String[][] array1 = {{"54","jim","delhi"},
                     {"67","dwight","bangalore"},
                     {"39","pam","pune"}};

预期输出应为:

array1 = {{"67","dwight","bangalore"},
          {"54","jim","delhi"},
          {"39","pam","pune"}};

使用 streamComparator 然后您可以根据需要对该数组进行排序:

String[][] array1 = {{"54", "jim", "delhi"},
        {"67", "dwight", "bangalore"},
        {"39", "pam", "pune"}};


List<String[]> collect1 = Arrays.stream(array1).sorted(Comparator.comparing(a -> a[1])).collect(Collectors.toList());
String[][] sortedArray = new String[array1.length][3];
for (int i = 0; i < collect1.size(); i++) {
    sortedArray[i] = collect1.get(i);
}
System.out.println(Arrays.deepToString(sortedArray));