Java常用的Arrays函数举例详解
目录
- Arrays
- sort
- toString
- binarySearch
- equals
- fill
- 数组拷贝
- copyOf
- copyOfRange
- arraycopy
- 二维数组
- 定义
- 遍历
- deepToString
- 空指针异常
- 总结
Arrays
sort
int[] array = new int[]{1,20,3}; Arrays.sort(array);// 1 3 20
toString
- 帮助数组转为字符串
int[] array = new int[]{1,2,3}; System.out.println(Arrays.toString(array)); // [1,2,3]
binarySearch
- 二分查找
int[] array = new int[]{1,2,3}; System.out.println(Arrays.binarySearch(array,2)); // 返回1下标 // 第一个参数,有序的数组array,要查找的key
equals
- 比较两个数组是否相同,长度,数据内容,相同数组,数组指针是否为空
- 返回值是boolean
int[] array = new int[]{1,2,3}; int[] array1 = new int[]{1,3,2}; System.out.println(Arrays.equals(array,array1)); // false
fill
- fill对数组进行填充
int[] array = new int[10]; Arrays.fill(array,0,3,9);// [0,3)区间填充 Arrays.fill(array,9);// 都填充为9 System.out.println(Arrays.toString(array));
数组拷贝
copyOf
- copyOf第一个参数是数组,第二个参数是数组的长度,返回值是一个数组
int[] array1 = new int[]{1,2,3}; int[] copy = Arrays.copyOf(array1,array1.length); // 1 2 3 // 可以当成扩容使用,剩余空间补零 int[] copy = Arrays.copyOf(array1,array1.length*2); // 1 2 3 0 0 0
copyOfRange
- 进行数组范围的拷贝
int[] array1 = new int[]{1,2,3,4,5,6}; int[] copy = Arrays.copyOfRange(array1,0,3); // 1 2 3
arraycopy
- 直接拷贝到copy数组中
int[] array1 = new int[]{1,2,3,4,5,6}; int[]http://www.devze.com copy = new int[array1.length]; System.out.println(array1,0,copy,0,array1.length); System.out.println(Arrays.toString(copy)); // 1 2 3 4android 5 6
取传过去的数组长度(100)和原数组长度(10)的较小值,那就是10
二维数组
定义
int[][] array = new int[][]{{1,2,3},{4,5,6}}; int[][] array1 = {{1,2,3},{4,5,6}}; int[][] array2 = new int[2][3];
二维数组的每个元素都是一个一维数组
遍历
for(int i = 0;i < array.length;i++){ for(int j = 0;j < array[i].length;j++){ System.out.print(array[i][j] + " "); } System.out.println(); } System.out.println(); for(int[] arr : array1){ for(int x : arr){ System.out.print(x + " "); } System.out.println(); }
deepToString
- 把二维数组打印成字符串
int[][] array1 = {{1,2,3},{4,5,6}}; www.devze.comSystem.out.println(Arrays.deepToString(array1)); // [[1, 2, 3], [4, 5, 6]]
空指针异常
- 不规则的二维数组
int[][] array3 = new int[2][]; // 解决方法 array3[0] = new int[]{1,2}; array3[1] = nepythonw int[]{1,2,3}; System.out.println(array3[0]); System.out.println(array3[1]); for(int i = 0;i < array3.length;i++){ for(int j = 0;j < array3[i].length;j++){ System.out.print(array3[i][j] + " "); } System.out.println(); }
二维数组是特殊的一维数组内存的存储机制是线性的,二维数组的每个元素又都是一个一维数组
总结
到此这篇关于Java常用的Arrays函数举例详解的文章就介绍到这了,更多相关Java常用Arrays函数内容请搜索编程客栈(www.cppwww.devze.comcns.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论