*一、二维数组
- 1. 操作数据⼯具类Arrays
- 2. 数组转字符串
*二、 数组排序(冒泡排序
一、二维数组
1. 普通的⼆维数组 ⼆维数组本质上也就是⼀维数组,只不过每个元素⼜是⼀个⼀维数组. 2. 基本语法 (行不可以省略,列可以省略)  代码⽰例:
int[][]arr={{1,2,3,4},{5,6,7,8},{9,10,11,12};for(introw=0;row<arr.length;row++){for(intcol=0;col<arr[row].length;col++){System.out.printf("%d\t",arr[row][col]);}System.out.println("");}- 不规则的⼆维数组
1 .不规则的⼆维数组指的是,⼆维数组的列在定义的时候,没有确定。
2 .代码⽰例:
int[][]array=newint[2][];array[0]=newint[3];array[1]=newint[5];1. 操作数据⼯具类Arrays
1 . 常用方法
代码如下:
importjava.util.Arrays;publicclassArraysDemo{publicstaticvoidmain(String[]args){int[]arr={5,2,8,1,9,3};// 1. 打印数组(不用自己写循环)System.out.println("原始数组:"+Arrays.toString(arr));// 2. 排序Arrays.sort(arr);System.out.println("排序后:"+Arrays.toString(arr));// 3. 二分查找(必须先排序)intindex=Arrays.binarySearch(arr,8);System.out.println("8 的索引位置:"+index);// 4. 填充数组int[]fillArr=newint[5];Arrays.fill(fillArr,100);System.out.println("填充后:"+Arrays.toString(fillArr));// 5. 复制数组int[]copyArr=Arrays.copyOf(arr,arr.length*2);System.out.println("复制并扩容:"+Arrays.toString(copyArr));// 6. 比较数组int[]arr2={1,2,3,5,8,9};booleanisEqual=Arrays.equals(arr,arr2);System.out.println("两个数组是否相等:"+isEqual);// 7. 多维数组打印int[][]matrix={{1,2},{3,4}};System.out.println("多维数组:"+Arrays.deepToString(matrix));// 8. 转换为 List(注意:返回的 List 不能增删,但可修改元素)String[]strs={"a","b","c"};java.util.List<String>list=Arrays.asList(strs);System.out.println("列表:"+list);// list.add("d"); // 这行会抛出 UnsupportedOperationException}}数组转字符串
- 使⽤这个⽅法后续打印数组就更⽅便⼀些.
importjava.util.Arraysint[]arr={1,2,3,4,5,6};StringnewArr=Arrays.toString(arr);//打印的数组赋值给newArrSystem.out.println(newArr);//打印出来二、 数组排序(冒泡排序)
给定⼀个数组,让数组升序(降序)排序.
算法思路
假设排升序:
- 将数组中相邻元素从前往后依次进⾏⽐较,如果前⼀个元素⽐后⼀个元素⼤,则交换,⼀趟下来后最⼤元素就在数组的末尾。
- 依次从上上述过程,直到数组中所有的元素都排列好。
publicstaticvoidmain(String[]args){int[]arr={9,5,2,7};bubbleSort(arr);System.out.println(Arrays.toString(arr));}publicstaticvoidbubbleSort(int[]arr){for(inti=0;i<arr.length;i++){for(intj=1;j<arr.length-i;j++){if(arr[j-1]>arr[j]){inttmp=arr[j-1];arr[j-1]=arr[j];arr[j]=tmp;}}}// end for}// end bubbleSort// 执⾏结果 [2, 5, 7, 9]- 冒泡排序性能较低.Java中内置了更⾼效的排序算法
- 虽然有好用的工具但是还是要明白逻辑,要有思路。
publicstaticvoidmain(String[]args){int[]arr={9,5,2,7};Arrays.sort(arr);System.out.println(Arrays.toString(arr));}