一維數組: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 }