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學習之陣列Java陣列
- Java學習筆記——陣列練習(七)Java筆記陣列
- java基礎(十一) 列舉型別Java型別
- Java學習之陣列練習Java陣列
- 流程控制與陣列—Java基礎學習(二)陣列Java
- Java基礎教程(15)–列舉型別Java型別
- Golang 基礎-資料型別-陣列和切片Golang資料型別陣列
- 零基礎學Java(8)陣列Java陣列
- 資料結構基礎學習之(串與陣列)資料結構陣列
- [java基礎]之資料型別Java資料型別
- golang基礎之陣列Golang陣列
- JAVA基礎之九-泛型(通用型別)Java泛型型別
- java中的列舉型別學習Java型別
- java基礎之java的基本資料型別Java資料型別
- JAVA基礎--二維陣列Java陣列
- java資料結構學習之陣列Java資料結構陣列
- 大資料之JAVA基礎(五):迴圈和陣列方法練習大資料Java陣列
- php資料型別之陣列PHP資料型別陣列
- java基礎型別原始碼解析之HashMapJava型別原始碼HashMap
- Java基礎語法之資料型別Java資料型別
- [Java基礎]之 資料型別轉換Java資料型別
- JavaSE基礎:列舉型別Java型別
- java入門基礎學習----泛型Java泛型
- ?Java基礎之Java列舉Java
- java基礎學習:JavaWeb之JSPJavaWebJS
- java基礎學習:JavaWeb之ServletJavaWebServlet
- JAVA基礎學習篇之反射Java反射
- Java學習之基礎語法Java
- 《MySQL 基礎篇》七:資料型別MySql資料型別
- Python學習系列之七大資料型別Python大資料資料型別
- 系統學習 TypeScript(三)——基礎型別TypeScript型別
- 【Java基礎知識】Java陣列與集合Java陣列
- Numpy學習-Task01-資料型別&陣列建立資料型別陣列
- Java學習之基礎語法練習Java
- 6-Java基礎語法-陣列之一維陣列Java陣列
- java基礎學習_io流之FileInputStreamJava
- java資料型別基礎Java資料型別
- TypeScript 陣列型別TypeScript陣列型別