通过[i] [2]元素对2D数组进行排序

时间:2017-04-12 18:25:03

标签: java arrays sorting multidimensional-array

假设我有这个2D数组:

array[0][] = {3,B,1}
array[1][] = {5,B,2}
array[2][] = {9,R,4}
array[3][] = {1,R,8}

如何以这种输出方式对此数组进行排序:

String[][] splitnodes = new String[7][];

基本上根据[i] [2]元素对它们进行排序。

这就是我声明数组的方式:

Route::get('sitemap.xml', 'App\\Controllers\\SiteMapController@index');

甚至可能吗?如果是,怎么样?

谢谢!

2 个答案:

答案 0 :(得分:0)

一种方法是实现像插入排序这样的“普通搜索”,你只比较第二个元素,然后携带剩下的元素

答案 1 :(得分:0)

您可以使用任何排序tecnique,并在涉及比较的步骤中比较每个子数组的第二个元素。使用J0DK中提供的实用程序方法,您还可以使用sort中定义的Arrays.java方法。

java.util.Arrays.sort(array, new 
    java.util.Comparator<String[]> () {
        public int compare(String[] a, String[] b) {
             return Integer.compare(Integer.parseInt( a[2]), Integer.parseInt(b[2]));
        }
});