前言
编写Java代码,突然想对整型二维数组进行排序,按第一列排序;
后面想对字符串型二维数组进行排序,按第二列排序
实例
String arr[][]=
{{"青年节","5.4"},
{"教师节","9.10"},
{"女生节","3.9"},
{"妇女节","3.8"},
{"国庆节","10.1"},
{"元旦","1.1"},
{"劳动节","5.1"},
{"儿童节","6.1"}};
/*
* 通过循环 获取到每个一维数组下标为1的元素
* 通过Double.parseDouble把获取到的字符串数字转为double数
* 通过冒泡排序进行排序
*
* */
System.out.println("排序前的数组:");
printArr(arr);
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(Double.parseDouble(arr[j][1])>Double.parseDouble(arr[j+1][1])){
String temp=arr[j][1];
arr[j][1]=arr[j+1][1];
arr[j+1][1]=temp;
}
}
}
//调用打印方法
System.out.println("排序后的数组:");
printArr(arr);
}
public static void printArr(String[][] arr){
for(int a=0;a<arr.length;a++){
for(int b=0;b<arr[a].length;b++) {
System.out.print(arr[a][b]+"\t");
}
System.out.println();//换行
}
输出:
排序前的数组:
青年节 5.4
教师节 9.10
女生节 3.9
妇女节 3.8
国庆节 10.1
元旦 1.1
劳动节 5.1
儿童节 6.1
排序后的数组:
元旦 1.1
妇女节 3.8
女生节 3.9
劳动节 5.1
青年节 5.4
儿童节 6.1
教师节 9.10
国庆节 10.1
总结
- 思路清晰,编写方法
- Double.parseDouble 类型的转换使用