Java中 Arrays的用法

2017-06-28  本文已影响0人  larQ

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)
上一篇下一篇

猜你喜欢

热点阅读