zoukankan      html  css  js  c++  java
  • 二维数组排序

    二维数组排序实例:

    import java.util.*;
    public class TwoDimArrayTest {
    public static void main(String[] args) {
    String[][] arr = {{"B","Z","K"},
    {"C","X","L"},
    {"A","Y","M"}} ;
    //缺省(按0列升序)
    Arrays.sort(arr, new TwoDimArrayComparator());
    printArray(arr);
    //按0列降序
    Arrays.sort(arr, new TwoDimArrayComparator(0,-1));
    printArray(arr);
    //按1列升序
    Arrays.sort(arr, new TwoDimArrayComparator(1));
    printArray(arr);
    //按1列降序
    Arrays.sort(arr, new TwoDimArrayComparator(1,-1));
    printArray(arr);
    //按2列升序
    Arrays.sort(arr, new TwoDimArrayComparator(2));
    printArray(arr);
    //按2列降序
    Arrays.sort(arr, new TwoDimArrayComparator(2,-1));
    printArray(arr);
    }
    public static void printArray(String[][] arr) {
    for (int i= 0; i< arr.length ; i++) {
    for (int j = 0; j < arr[i].length; j++) {
    System.out.print(arr[i][j] +"\t");
    }
    System.out.println();
    }
    System.out.println("======================");
    }
    }
    
    class TwoDimArrayComparator implements Comparator{
    private int keyColumn = 0;
    private int sortOrder = 1;
    public TwoDimArrayComparator () {}
    public TwoDimArrayComparator (int keyColumn) {
    this.keyColumn = keyColumn;
    }
    public TwoDimArrayComparator (int keyColumn,int sortOrder) {
    this.keyColumn = keyColumn;
    this.sortOrder = sortOrder;
    }
    public int compare(Object a, Object b) {
    if (a instanceof String[]) {
    return sortOrder * ((String[])a)[keyColumn].compareTo(((String[])b)[keyColumn]);
    } else if (a instanceof int[]){
    return sortOrder * (((int[])a)[keyColumn] - ((int[])b)[keyColumn]);
    } else {
    return 0;
    }
    }
    }

    运行结果:

    C:\java>java TwoDimArrayTest
    A Y M
    B Z K
    C X L
    ======================
    C X L
    B Z K
    A Y M
    ======================
    C X L
    A Y M
    B Z K
    ======================
    B Z K
    A Y M
    C X L
    ======================
    B Z K
    C X L
    A Y M
    ======================
    A Y M
    C X L
    B Z K
    ======================

  • 相关阅读:
    BurpSuite—-Spider模块(蜘蛛爬行)
    BurpSuite系列(一)----Proxy模块(代理模块)
    hadoop HA集群搭建步骤
    HBase详解
    MapReduce两种执行环境介绍:本地测试环境,服务器环境
    HBase性能优化方法总结
    HDFS原理解析
    ZooKeeper 典型应用场景
    Redis总结
    基于Apache Curator框架的ZooKeeper使用详解
  • 原文地址:https://www.cnblogs.com/kentyshang/p/805334.html
Copyright © 2011-2022 走看看