java基礎學習之七:陣列型別
一、java陣列的概念
1.java陣列的概念
- 陣列可以看成是多個相同型別資料組合,對這些資料的統一管理。
- 陣列變數屬引用型別,陣列也可以看成是物件,陣列中的每個元素相當於該物件的成員變數。
- 陣列的元素可以是任何資料型別,包括基本型別和引用型別。
- C和C++中的陣列都可以分配在棧上面,而JAVA中的陣列是隻能分配在堆上面的,因為JAVA中的陣列是引用型別。
二、一維陣列
1.一維陣列宣告方式
- 格式一:陣列元素型別 陣列名[ ]; 即type var[ ];
- 格式二:陣列元素型別[ ] 陣列名; 即type[ ] var;
2.一維陣列的初始化
1).陣列建立
java中使用關鍵字new建立陣列物件。
格式為:陣列名 = new 陣列元素的型別[陣列元素的個數]
注意:java語言中宣告陣列時不能指定其長度(陣列中的元素個數)
如:
int var[5]; //這樣宣告一維陣列是非法的。
int[] var = new int[8];//建立一個長度為8的int陣列,包括八個int型別元素,且每個元素預設值為0
陣列包括一些基本的屬性:
- 陣列索引 var[index],index從0開始到7的整數;但是index不可以為負值或者超過7,
var[0];//0
- 陣列長度 length ,如:
var.length;//值為8
- 如果陣列為String型別預設值為null 陣列的初始化兩種方式:
2).直接靜態賦值.
int aArray[] = {1,2,3,12,3,3,2,1};
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
3)動態for迴圈賦值
for(int i = 0; i < var.length; i++){
var[i] = i+1;
}
4)陣列預設值的問題
三、陣列的一些基本方法
文中使用了一些APIorg.apache.commons.lang.ArrayUtils
是個array的包裝類。更多ArrayUtils方法,參見部落格ArrayUtils
API在此:http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/ArrayUtils.html
1、列印Java陣列中的元素
1)利用Arrays.toString(陣列)方法可以直接列印
int[] var = new int[8];
for(int i = 0; i < var.length; i++){
var[i] = i+1;
}
System.out.println(Arrays.toString(var));
結果為:
[1, 2, 3, 4, 5, 6, 7, 8]
2).也可以通過for迴圈,依次取值,直接列印 for(int i = 0; i < var.length; i++){ System.out.println(var[i]); } 注意不能直接列印引用:
System.out.println(var);
// [I@22911fb5
2.陣列翻轉 reverse
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
//[5, 4, 3, 2, 1]
3.從陣列中移除一個元素 removeElement
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
System.out.println(Arrays.toString(removed));
4.將陣列中的元素以字串的形式輸出
String str = StringUtils.join(new String[]{"a", "b", "c"}, ", ");//需要用到commons包
System.out.println(str);
5.連線兩個陣列
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang library
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
6.檢查陣列中是否包含某一個值
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
// true
相關文章
- java基礎(十) 陣列型別Java陣列型別
- java基礎學習之六:String型別Java型別
- Java基礎學習之陣列基本屬性和方法Java陣列
- java基礎學習之五:引用資料型別Java資料型別
- java基礎學習之九:集合型別Set/List/MapJava型別
- Java學習之陣列Java陣列
- Java學習筆記——陣列練習(七)Java筆記陣列
- java基礎學習之十三:泛型Java泛型
- Java學習之陣列練習Java陣列
- java基礎(十一) 列舉型別Java型別
- 流程控制與陣列—Java基礎學習(二)陣列Java
- java之資料型別與陣列Java資料型別陣列
- Java基礎教程(15)–列舉型別Java型別
- 零基礎學Java(8)陣列Java陣列
- Golang 基礎-資料型別-陣列和切片Golang資料型別陣列
- javaScript學習基礎篇(1)(陣列)JavaScript陣列
- 資料結構基礎學習之(串與陣列)資料結構陣列
- Java學習筆記之陣列Java筆記陣列
- [java基礎]之資料型別Java資料型別
- golang基礎之陣列Golang陣列
- java泛型之泛型陣列。Java泛型陣列
- java基礎學習之十:集合型別Set/List/Map(TreeSet,LinkedList,TreeMap)Java型別
- java中的列舉型別學習Java型別
- js學習一陣列型別foreach方法JS陣列型別
- java基礎學習之--XMLJavaXML
- JAVA基礎之九-泛型(通用型別)Java泛型型別
- [java]基礎型別Java型別
- java基礎之java的基本資料型別Java資料型別
- JAVA基礎--二維陣列Java陣列
- java資料結構學習之陣列Java資料結構陣列
- java入門基礎學習----泛型Java泛型
- 大資料之JAVA基礎(五):迴圈和陣列方法練習大資料Java陣列
- JavaSE基礎:列舉型別Java型別
- java基礎型別原始碼解析之HashMapJava型別原始碼HashMap
- [Java基礎]之 資料型別轉換Java資料型別
- Java基礎語法之資料型別Java資料型別
- php資料型別之陣列PHP資料型別陣列
- java基礎學習:JavaWeb之ServletJavaWebServlet