JAVA數組的基本方法


數組的基本方法

數組可以存放多個數據,多個數據類型要統一
數組格式:
格式一:常用寫法
數組類型[] 數組名稱 = new 數據類型[數組長度];
格式二:蛋疼寫法
數組類型[] 數組名稱;
數組名稱 = new 數組類型[數組長度];
靜態初始化數組格式:
格式一:常用寫法
數組類型[] 數組名稱 = new 數據類型[]{數值,數值,數值};
格式二:蛋疼寫法
數組類型[] 數組名稱;
數組名稱 = new 數組類型[]{數值,數值,數值};
快速初始化數組格式(靜態初始化數組的省略寫法):
數組類型[] 數組名稱 = {數值,數值,數值,數值,數值,數值,數值};
當你打印數組對象時返回的對象意思如下:
[代表當前數據是數組 + 數據類型 + @數字代表的是地址值(的哈希值)
數組動態初始化的時候默認會被賦予一個默認值
整數數組默認賦予0
浮點數組默認賦予0.0
字符串或其他引用數組類型默認賦予null
布爾數組默認賦予false
常見報錯信息java.lang.ArrayIndexOutOfBoundsException
表示數組越界也就是超出了范圍
來看下面的實例:
 1 import java.util.Arrays;
 2 
 3 public class ListFunc {
 4     public static void main(String[] args){
 5         //動態數組初始化
 6         int[] array1 = new int[3];
 7         float[] array2 = new float[3];
 8         String[] array3;
 9         array3 = new String[3];
10         boolean[] array4 = new boolean[1];
11         System.out.println("array1="+array1[0]+" "+array1[1]+" "+array1[2]);
12         System.out.println("array2="+array2[0]+" "+array2[1]+" "+array2[2]);
13         System.out.println("array3="+array3[0]+" "+array3[1]+" "+array3[2]);
14         System.out.println("array4="+array4[0]);
15 
16         //靜態數組初始化
17         int[] list1 = new int[]{1,2,3};
18         float[] list2 = new float[]{1.0f,2.0f,3.0f};
19         String[] list3;
20         list3 = new String[]{"abc","bcd","def"};
21         System.out.println("list1="+list1[0]+" "+list1[1]+" "+list1[2]);
22         System.out.println("list2="+list2[0]+" "+list2[1]+" "+list2[2]);
23         System.out.println("list3="+list3[0]+" "+list3[1]+" "+list3[2]);
24 
25         //快速數組初始化並統計長度
26         int[] lists = {1,2,3,4,5,7,8,8,9,9,0,0,123,21,32,43,534,20};
27         System.out.println("lists映射地址="+lists);
28         System.out.println("lists的長度="+lists.length);
29         int[] lists2 = lists.clone();
30 
31         //對已有的數據對象克隆並生成了新的地址空間
32         System.out.println("clone映射地址="+lists.clone());
33         System.out.println("克隆數組方法="+Arrays.toString(lists2));
34         System.out.println("hashCode="+lists.hashCode());   //生成對應的哈希值
35 
36 
37         //Arrays.toString方法直接可以轉換數組快速變成可閱讀模式
38         // 使用此方法前需要import java.util.Arrays;
39         int[] array5 = {1,2,3,4,5,6};
40         String str = Arrays.toString(array5);
41         System.out.println("array5="+str);
42 
43 
44         String[] list5 = {"a","b","c"};
45         String[] list6 = {"a","b","c"};
46         //判斷兩個數組是否相等/相同
47         System.out.println("Arrays-equals="+Arrays.equals(list5,list6));
48         //生成哈希值
49         System.out.println("Arrays-hashCode="+Arrays.hashCode(list6));
50         //搜索數組的對象的下標位置(字符串不能用)
51         System.out.println("Arrays-binarySearch="+Arrays.binarySearch(array5,2));
52         //從數組的首位截取對應長度生成新數組
53         System.out.println("Arrays-copyOf="+Arrays.toString(Arrays.copyOf(array5,2)));
54         //從數組指定范圍截取生成新數組
55         System.out.println("Arrays-copyOfRange="+Arrays.toString(Arrays.copyOfRange(array5,4,6)));
56 
57         int[] array6 = {6,7,8,5,4,3,2,1};
58         int[] array7 = array6.clone();
59         //對數組從小到大排序
60         Arrays.sort(array6);
61         System.out.println("Arrays-sort="+Arrays.toString(array6));
62         //同上方法一樣也是排序
63         Arrays.parallelSort(array7);
64         System.out.println("Arrays-parallelSort="+Arrays.toString(array7));
65         //對數組全部填充定義的值
66         Arrays.fill(array6,10);
67         System.out.println("Arrays-fill="+Arrays.toString(array6));
68 
69         //對下標的數利用生成器生成對應新的序列
70         int[] array9 = new int[10];
71         Arrays.setAll(array9,x->x*2);
72         System.out.println("Arrays-setAll="+Arrays.toString(array9));
73         //可使用表達式循環輸出
74         int[] array8 = {8,88,888};
75         Arrays.stream(array8).forEach(i->System.out.println("stream-forEach="+i));
76         //判斷列表是否為空
77         System.out.println("Arrays-asList-isEmpty="+Arrays.asList(list5).isEmpty());
78     }
79 }

對應輸出結果如下圖:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM