总结于尚硅谷视频
三 数组
1 数组的概述
可以看我好朋友Crash-struggle的博客
https://blog.csdn.net/weixin_51740288/article/details/111464014?spm=1001.2014.3001.5501
2 一维数组的使用
可以看我好朋友Crash-struggle的博客
https://blog.csdn.net/weixin_51740288/article/details/115311294?spm=1001.2014.3001.5501
3 多维数组的使用
可以看我好朋友Crash-struggle的博客
https://blog.csdn.net/weixin_51740288/article/details/115311294?spm=1001.2014.3001.5501
4 数组算法
package com.arr.bjsxt.array; public class Excpai { //数组排序方法 public static void bubbleSort(int[] values) { if (values == null||values.length==1)return; for (int i = 0; i < values.length - 1; i++) { boolean isSorted = true; for (int j = 0; j < values.length - 1 - i; j++) { if (values[j] > values[j + 1]) { int temp = values[j]; values[j] = values[j + 1]; values[j + 1] = temp; isSorted = false; } } if (isSorted) break; } } //主方法 public static void main(String[] args) { int[] arr = {1, 3, 2,3,5,7,8,9,10}; bubbleSort(arr); print(arr); } //打印数组方法 public static void print(int[] arr){ if (arr==null) return; for (int i :arr){ System.out.print(i+" "); } System.out.println(); } }
package com.arr.bjsxt.array; import java.util.Arrays; public class Exccha { public static void main(String[] args) { int[] arr ={30,20,50,10,80,9,7,12,100,40,8}; int searchWord = 20; Arrays.sort(arr); System.out.println(Arrays.toString(arr)); System.out.println(searchWord+"元素的索引:"+binarySearch(arr,searchWord)); } public static int binarySearch(int[] array,int value){ int low=0; int high=array.length-1; while (low<=high){ int middle=(low+high)/2; if(value==array[middle]){ return middle; } if(value>array[middle]){ low=middle+1; } if(value<array[middle]){ high=middle-1; } } return -1; } }
5 Arrays工具类的使用
package com.arr.bjsxt.array; import java.util.Arrays; /** * 测试java,util.Arrays类 *这个类是Java提供给我们提供给我们操作数组的工具类 * 提供了常见的:排序、查找、填充、打印数组内容的相关方法。 */ public class Test03 { public static void main(String[] args) { // int[] a={100,200,300}; // //测试打印 // System.out.println(Arrays.toString(a));//打印数组内容 //测试排序 // int[] a={com.1,2,323,23,543,12,59}; // System.out.println(Arrays.toString(a)); // Arrays.sort(a); // System.out.println(Arrays.toString(a)); //测试二分法查找 // int[] a={com.1,2,323,23,543,12,59}; // System.out.println(Arrays.toString(a)); // Arrays.sort(a); //使用二分法查找,必须对数组进行排序 // System.out.println(Arrays.toString(a)); // //返回排序后的新索引位置,若未找到返回负数。 // System.out.println("该元素的索引:"+Arrays.binarySearch(a,12));//排序后的序号2 //替换 int[] a={1,2,323,23,543,12,59}; System.out.println(Arrays.toString(a)); Arrays.fill(a,2,4,100);//将2到4的索引的元素替换为100; System.out.println(Arrays.toString(a)); } }