根据 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"}};
使用 stream
和 Comparator
然后您可以根据需要对该数组进行排序:
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));
我有一个包含 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"}};
使用 stream
和 Comparator
然后您可以根据需要对该数组进行排序:
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));