Java陣列的使用
本文介紹了在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<array.length;i++){
System.out.println(array[i]);
}
ForEach迴圈,根據陣列的資料型別得到元素,進行遍歷:
for(Integer data : array){
System.out.println(data);
}
3. 型別轉換:
A. 陣列轉為Set集合:
使用java api 中Arrays 工具類進行轉換為list,再轉為set:
Set<Integer> set = new HashSet<Integer>(Arrays.asList(array));
B.陣列轉為List集合:
第一種:遍歷陣列,向list中新增元素;
第二種,使用api java.util.Arrays進行轉換:
List<Integer> 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個元素進行排序。
三.Java中的陣列與記憶體
在java中,若宣告陣列時直接進行賦值,則為陣列分配的記憶體中直接存入數值;若宣告陣列時沒有進行賦值,只說明瞭陣列的大小size,則在陣列的記憶體塊中,有size個狀態為null的記憶體塊被佔用;
當程式執行結束後,陣列的有效長度如果變小,這時需要注意陣列原先佔用的記憶體塊不會被jvm處理,如果這種情況比較多,則會發生記憶體洩漏,此時需要程式設計師在使用陣列後,及時對無效的資源進行釋放,即在陣列的該元素為空,array[index] = null.
四.總結
在java中,陣列是經常使用的技術,透過一個能夠儲存多個相同型別資料元素的容器來實現各種需求,同時在陣列內部可以透過位置下標來快速所以資料,增加了java程式的可讀性與健壯性;在使用陣列的同時,也需要注意陣列容易造成的記憶體洩漏等問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912514/viewspace-2933076/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java陣列03:陣列使用Java陣列
- 【Java】陣列使用Java陣列
- Java 中的陣列 如何使用Java陣列
- 初識Java(Java陣列-陣列的基本操作)Java陣列
- Java的 陣列Java陣列
- Java陣列宣告建立和使用以及多維陣列、Arrays類、稀疏陣列Java陣列
- Java中的陣列Java陣列
- 陣列的使用陣列
- Java 陣列Java陣列
- java——陣列Java陣列
- Java陣列Java陣列
- Java中陣列及相關類的使用Java陣列
- 【Java】int[] 陣列 和 Integer陣列的轉換Java陣列
- java日期 java陣列Java陣列
- scala陣列與java陣列對比陣列Java
- java之陣列的索引,排序以及二維陣列Java陣列索引排序
- java陣列元素的引用Java陣列
- Java陣列的運用Java陣列
- java陣列的問題Java陣列
- JAVA的陣列基本用法Java陣列
- Oracle陣列的使用Oracle陣列
- 不初始化,Java陣列如何使用?Java陣列
- Java(二)陣列Java陣列
- JAVA陣列案例!Java陣列
- java Arrays陣列Java陣列
- java之陣列Java陣列
- java 陣列(轉)Java陣列
- Java - 7 陣列Java陣列
- [瘋狂Java]陣列:Arrays(陣列工具類)Java陣列
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- 避免在Java 介面中使用陣列的3 個理由Java陣列
- 避免在Java介面中使用陣列的3個理由Java陣列
- 《Java從入門到失業》第三章:基礎語法及基本程式結構(3.9):陣列(陣列基本使用、陣列的迴圈、陣列拷貝、陣列排序、多維陣列)Java陣列排序
- java陣列遍歷的方法Java陣列
- java陣列拷貝的方法Java陣列
- Java中的陣列 - Java那些事兒Java陣列
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 陣列的靈活使用陣列