一维数组:java
1 package my_package; 2 3 /** 4 * 一维数组的基本操做 5 */ 6 public class Test { 7 public static void main(String[] args) { 8 //静态初始化一个数组,不能指定数组长度 9 int[] arr1=new int[]{1,2,3,4,5}; 10 //可简写为 int[] arr1={1,2,3,4,5}; 11 12 //动态初始化一个数组,先指定数组长度,之后再逐个赋值 13 int[] arr2=new int[5]; 14 arr2[0]=1; 15 16 //也能够先声明,再初始化 17 //int[] arr3; 18 //arr3=....... 19 20 //数组长度 21 System.out.println("数组arr1的长度:"+arr1.length); 22 23 /* 24 foreach循环能够遍历数组、集合,但只能访问元素的值,不能修改。 25 数组的元素类型必须相同,集合的元素类型能够不一样 26 临时变量表示当前元素 27 */ 28 for(int i:arr1){ 29 System.out.println(i); 30 } 31 32 } 33 }
二维数组:数组
1 package my_package; 2 3 /** 4 * 二维数组的基本操做 5 * 每行的元素个数可不一样 6 */ 7 public class Test2 { 8 public static void main(String[] args) { 9 //静态初始化一个二维数组,每行都是一个一维数组 10 int[][] arr1=new int[][]{ 11 {1,2}, 12 {1,2,3}, 13 {1,2,3,4,5} 14 }; 15 16 //动态初始化一个二维数组,只需指定行数,列数可缺省,也可写上,之后再逐个元素赋值 17 int[][] arr2=new int[3][]; 18 19 //一样能够先声明,再初始化 20 //int[][] arr3; 21 //arr3=..... 22 23 24 } 25 }
JDK8自带的Arrays类:ui
1 package my_package; 2 3 import java.lang.reflect.Array; 4 import java.util.Arrays; 5 6 /** 7 * JDK8自带的Arrays类,提供了大量操做数组的方法,包括索引、排序、比较、赋值、复制等,均为静态方法。 8 * 以parallel开头的方法和缺乏此前缀的方法效果彻底相同,只是parallel开头的方法利用CPU的并行提升了效率,速度更快 9 * View -> Quick Documentation 查看方法说明的快捷键,IDEA为Ctrl+Q 10 */ 11 public class Test3 { 12 public static void main(String[] args) { 13 int[] arr1={1,3,2,5,4}; 14 15 //复制 16 int[] arr2=Arrays.copyOf(arr1,arr1.length); 17 18 //二分搜索,第二个参数是要搜索的值,返回的索引多是负数——倒着搜索 19 System.out.println(Arrays.binarySearch(arr1,2)); 20 21 //排序 22 Arrays.sort(arr1); 23 for(int i:arr1){ 24 System.out.print(i+" "); 25 } 26 27 System.out.println(); 28 29 //并行排序 30 Arrays.parallelSort(arr2); 31 for(int i:arr2){ 32 System.out.print(i+" "); 33 } 34 35 System.out.println(); 36 37 } 38 }