本文介紹了在java開發中經常使用的數組,以及數組的使用方法,注意事項。
一.什麼是數組
1. 數組:數組即是一堆邏輯上無序的元素的序列,用來存儲多個相同類型的資料,數組可以看做是一個集合,其内部元素存儲在一個連續的記憶體塊當中,并通過索引(即數組中元素的下标)來通路。
2. 特點:
A. 數組中的元素資料類型都相同;
B. 各元素在記憶體中的存儲是有先後順序的;
C. 表示數組元素的時候,需要使用數組名和該元素在數組中的位置來表示;
3. 分類:
最簡單的形式是一維數組,即數組中直接存儲元素,如{1,2,3,4};其次是二維數組,在二維數組中的元素都是一維數組,如{{123},{456},{789}};再次意義上可以有更多元的數組。
二.Java中的數組
(以下示例中皆以整型一維數組 int array[] 為例)
1. 特點:
java中的數組滿足數組的所有含義和特點;
2. 聲明數組:
在java中,聲明數組時有兩種情況:有大小,或者無大小,同時在聲明數組時,需要聲明數組的資料類型,以及數組的次元,聲明方式分為以下幾種:
a. int array[] = {1,2,3};直接在聲明數組的同時進行指派;
b. int array[] ;聲明數組未進行指派操作;
c. Int array[] = new int[10];聲明數組時定義了數組的大小;
3. 數組長度:
使用數組的 length 屬性,可已檢視數組的大小:
Int length = array.lenth;
4. 周遊數組:
在開發中,根據數組的特性,經常會通過循環來周遊數組,如for循環或forEach循環:
For循環,根據數組的小标進行周遊:
for(int i=0;i
System.out.println(array[i]);
}
ForEach循環,根據數組的資料類型得到元素,進行周遊:
for(Integer data : array){
System.out.println(data);
}
5. 類型轉換:
A. 數組轉為Set集合:
使用java api 中Arrays 工具類進行轉換為list,再轉為set:
Set set = new HashSet(Arrays.asList(array));
B.數組轉為List集合:
第一種:周遊數組,向list中添加元素;
第二種,使用api java.util.Arrays進行轉換:
List list = Arrays.asList(array);
6. java數組常用操作:
A. int數組轉換為String:
String result =Arrays.toString(array);
B.判斷數組是否包含元素:
使用數組的contains 方法進行判斷,該方法傳回值為boolean類型,如果包含該元素,傳回值為true,否則傳回false;
如:int array[] = {1,2,2,3,4,5};
array.contains(1)傳回值為true;array.contains(6)傳回值為false;
C.填充數組:
第一種可通過循環數組的下标(index),維數組的每一個位置進行指派(array[index] = data);
第二種可以通過工具類Arrays進行填充,如:Arrays.fill(array,5),将array的每個位置都指派為5.
D.複制數組:
第一種方法是直接指定新的數組:int array2[] = Arrays.copyOf(array,20),将數組array複制到array2中,同時指定array2的數組大小是20;
第二種方法是根據指定範圍進行指派,如:
Int array2[] = Arrays.copyOfRange(array,5,10);将array中第5位到第9位的元素複制到array2中。
E.比較數組:
通常使用Arrays.equals()方法進行比較,傳回值為boolean類型,如Arrays.equals(array,array2);
F.數組排序:
在java中,通常可以通過循環,按照特定的業務邏輯進行排序,如果對元素沒有特殊要求,則可以通過Array.sort()方法進行排序,如:Arrays.sort(array);對數組進行排序;
Arrays.sort(array,2,6);對數組的第2個元素到第5個元素進行排序。