Java中 Arrays的用法

1. atList方法:返回一個固定大小的list

  • 定義:
@SafeVarargs
public static <T> List<T> asList(T... a)
  • 用法:
 ① List<String> stringList = Arrays.asList("Welcome", "To", "Java","World!");
 ② List<Integer> intList = Arrays.asList(1, 2, 3, 4);
 ```

### 2. binarySearch方法 :折半查找法 ,返回所給元素的索引
- 用法:
```
//fromIndex,toIndex這兩個參數可以省略(表示整個數組)
//不省略表示在這個區間查找,左閉右開, key 表示要查找的元素
//返回要查找元素的 索引位置
int index = Arrays.binarySearch(new int[] { 1, 2, 3, 4, 5, 6, 7 }, 6);
public static int binarySearch(byte[] a, int fromIndex, int toIndex, byte key)
```

###3. copyOf及copyOfRange方法 :將一個數組拷貝到另一個數組中/或者其中的一部分
  - 用法:
  ```
//索引都是從零開始
String[] names2 = { "Eric", "John", "Alan", "Liz" };
//[Eric, John, Alan]
String[] copy = Arrays.copyOf(names2, 3); 
//[Alan, Liz]   ,左閉右開
String[] rangeCopy = Arrays.copyOfRange(names2, 2,
      names2.length);
```

### 4. sort方法:排序 (升序)
- 用法:
```
String[] names = { "Liz", "John", "Eric", "Alan" }; //按首字母
//只排序前兩個(左閉右開)
//[John, Liz, Eric, Alan]
Arrays.sort(names, 0, 2);
//全部排序
//[Alan, Eric, John, Liz]
Arrays.sort(names);
```

### 5. toString: 遍歷數組內容
- 用法:
```
String[] names = { "Liz", "John", "Eric", "Alan" };
Arrays.sort(names);
System.out.println(Arrays.toString(names));
```

### 6. deepToString方法,遍歷二維數組
- 用法:
```
int[][] stuGrades = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } }; 
System.out.println(Arrays.deepToString(stuGrades));
//用toString(),打印出來的是地址
```

### 7. equals方法:比較兩個數組
- 用法:
```
//返回boolean值
String[] names1 = { "Eric", "John", "Alan", "Liz" };
String[] names2 = { "Eric", "John", "Alan", "Liz" };
System.out.println(Arrays.equals(names1, names2));
```

### 8. deepEquals方法:比較二位數組
- 用法:
```
//返回boolean值
int[][] stuGrades1 = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
int[][] stuGrades2 = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
System.out.println(Arrays.deepEquals(stuGrades1, stuGrades2));
```

### 9. fill方法:填充數組
- 定義:
```
//fromIndex和toIndex可以省略
//如果省略則 數組的每個值全部由 val 填充
//有的話就是區間填充(左閉右開)
public static void fill(T [] a,
        int fromIndex,
        int toIndex,
        T val)
```
- 用法:
```
int[] arr = new int[8];
Arrays.fill(arr, 1);
Arrats.fill(arr,1,4,123);
```


[參考](http://blog.csdn.net/samjustin1/article/details/52661862)
[文檔 Ctrl+F輸入Arrays](http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容