二维数组按排序

来源:互联网 发布:淘宝销售授权书 编辑:程序博客网 时间:2024/04/30 02:36

import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;

public class ArraySorts {

 /**
  * @param args
  * @throws Exception
  */

 public static void main(String[] args) throws Exception {

  String[][] officeList = { { "Tad", "3" }, { "Aad", "4" },
    { "Bad", "2" }, { "Dad", "1" } };

  ArraySort(officeList,"1");

  for (int i = 0; i < officeList.length; i++) {
   System.out.println(officeList[i][0] + " , " + officeList[i][1]);
  }

 }

 public static void ArraySort(String[][] arrArgs,String position) throws Exception {
  
  if(!"1".equals(position) &&  !"2".equals(position) ){
   throw new Exception("position must be 1 or 2,please check your input");
  }
  
  String[] arr = new String[arrArgs.length];

  for (int i = 0; i < arrArgs.length; i++) {
   
   if("1".equals(position)){
    arr[i] = arrArgs[i][0] + ":" + arrArgs[i][1];
   }else {
    arr[i] = arrArgs[i][1] + ":" + arrArgs[i][0];
   }
   
   
  }

  // Collator 类是用来执行区分语言环境的 String 比较的, 使用ENGLISH
  Comparator<Object> cmp = Collator.getInstance(java.util.Locale.ENGLISH);

  Arrays.sort(arr, cmp);

  String des = "";
  String value = "";
  for (int i = 0; i < arr.length; i++) {

     if("1".equals(position)){
      
      des = arr[i].toString().split(":")[0];
      value = arr[i].toString().split(":")[1];

      arrArgs[i][0] = des;
      arrArgs[i][1] = value;

   }else {
    
    des = arr[i].toString().split(":")[1];
    value = arr[i].toString().split(":")[0];

    arrArgs[i][0] = des;
    arrArgs[i][1] = value;

   }
   
   
   

  }

 }

}

 

原创粉丝点击