Java 數組常用方法
數組的定義方法
首先看一維數組的定義方法:
數組的靜態聲明法
int arr [] = {5,2,7,9,0};
// [] 寫在前后都行,風格統一即可
int[] arr = {5,2,7,9,0};
//可用foreach輸出
for (int x: arr) {
System.out.println(x); // 2 4 6 8 10
}</code></pre>
數組的動態聲明法
//和創建對象沒有關系
//創建對象new后面是()
int[] arr= new int[10];
char[] arrChar = new char[10];
聲明之后,默認值,int數組是0,char數組是空字符,boolean數組是false。
二維數組也是類似的。
二維數組,就是數組之中的元素,還是數組。
//靜態聲明法
int[][] arr = {{1,2,3},{4,5,6},{7,8}};
//動態聲明法
int[][] arr1 = new int[3][5];
//輸出時要用兩層循環來取
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
System.out.println(arr[i][j]);
}
}
數組的類型
- 數組的類型不是數組中元素的類型,不要混淆。比如arr是 整形數組 類型,不是整形變量 。
- 只要保證數組中存放的元素類型是一致的就行。int,double,char,對象,數組,都可以存在數組里。
注意 :數組一旦被聲明,長度就不可改變了!!
數組的操作方法
Arrays類的靜態方法很好用,需要import java.utils.Arrays
1、 Array.fill() 填充數組
// void fill(int[] a, int val)全部填充
// void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素
Arrays.fill(arr3, 10);
Arrays.fill(arr3, 1, 3, 8);</code></pre>
2、Arrays.sort() 對數組排序
//void sort(int[] a)全部排序
//void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素
Arrays.sort(arr4);
Arrays.sort(arr5, 0, 5);
3、Arrays.copyOf() 復制數組
```
// int copyOf(int[] original, int newLength)復制數組,指定新數組長度
// int[] copyOfRange(int[] original, int from, int to)復制數組,指定所復制的原數組的索引
int[] arr6 = Arrays.copyOf(arr5, 10);
int[] arr7 = Arrays.copyOfRange(arr5, 3, 9);
4、檢查數組中是否包含某一個值
// 先使用Arrays.asList()將Array轉換成List<String>,
//再用動態鏈表的contains方法判斷元素是否包含在鏈表中。
String stringArray [] = {"a","b","c","d"};
boolean b = Arrays.asList(stringArray).contains("c");
5、連接兩個數組
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
6、數組翻轉
ArrayUtils.reverse(intArray);
7、從數組移除一個元素
int[] removed = ArrayUtils.removeElement(intArray, 3);
```
來自:http://www.jianshu.com/p/e0d3d8c89824