博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二维数组排序
阅读量:7039 次
发布时间:2019-06-28

本文共 1801 字,大约阅读时间需要 6 分钟。

二维数组排序实例:

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
======================

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2007/07/04/805334.html如需转载请自行联系原作者

kenty

你可能感兴趣的文章
关于ARM NEON学习的一些资料
查看>>
火车运煤问题
查看>>
WordPress制作一个首字母排序的标签页面
查看>>
JqueryEasyUI教程入门篇
查看>>
从c++看js的那些概念
查看>>
php获取机器网卡的物理(MAC)地址
查看>>
vim调用python格式化json数据
查看>>
Enum遇到下拉框
查看>>
你知道C#中的Lambda表达式的演化过程吗
查看>>
maven jetty debug 无法关联第三方类库解决办法
查看>>
LNMP环境的安装配置
查看>>
Saltstack数据系统Grains和Pillar(三)
查看>>
24种设计模式
查看>>
Linux下搭建SVN服务
查看>>
jprofiler_监控远程linux服务器的JVM进程(实践)
查看>>
linux 学习之路(学linux必看)
查看>>
域scope 介绍,及查找数据
查看>>
go-import下划线的作用
查看>>
Flink – Stream Task执行过程
查看>>
机器学习第1课:引言(Introduction)
查看>>