代码如下: package com.hs.jp.lys;import java.util.Arrays;import java.util.Comparator;/** *//** * GroupBy * @author linys * @extends ArraysComparator * @E-mail tolys@126.com * @version 1.0 */public class GroupBy extends ArraysComparator...{ public GroupBy(Object[][] array )...{ Arrays.sort(array, new ArraysComparator()); } public GroupBy(Object[][] array ,int keyColumn,int sortOrder )...{ Arrays.sort(array, new ArraysComparator(keyColumn,sortOrder)); } public GroupBy(Object[][] array ,int keyColumn)...{ Arrays.sort(array, new ArraysComparator(keyColumn)); } }class ArraysComparator implements Comparator ...{ //设置缺省列 private int column = 0; //设置缺省排序方式 (1:升序 -1:降序) private int orderFlag = 1; public ArraysComparator() ...{ } public ArraysComparator(int column) ...{ this.column = column; } public ArraysComparator(int column, int orderFlag) ...{ this.column = column; this.orderFlag = orderFlag; } public int compare(Object objOne, Object objTwo) ...{ if (objOne instanceof String[]) ...{ return orderFlag * ((String[]) objOne)[column].compareTo(((String[]) objTwo)[column]); } else if (objOne instanceof int[]) ...{ return orderFlag * (((int[]) objOne)[column] - ((int[]) objTwo)[column]); } else ...{ return 0; } }} Test Case: package com.hs.jp.lys;/** *//** * TestGroupBy * @author linys * */public class TestGroupBy ...{ /** *//** * @param args */ public static void main(String[] args) ...{ String[][] arr = ...{ ...{ "1", "A", "N" }, ...{ "2", "O", "B" }, ...{ "3", "P", "A" } }; // 缺省(按0列升序) new GroupBy(arr); printResult(arr); // 按0列降序 new GroupBy(arr,0,-1); printResult(arr); } public static void printResult(Object[][] arr) ...{ for (int i = 0; i < arr.length; i++) ...{ for (int j = 0; j < arr[i].length; j++) ...{ System.out.print(arr[i][j] + " "); } System.out.println(" "); } System.out.println("======BY tolys====== "); }}