java中Arrays类的常用方法
Arrays类概述
- 位于java.util包中,继承了java.lang.Object类
- 是一个用于操作数组的工具类
- 提供了查找、排序等功能
Arrays的常用方法
static <T> List<T> asList(T... a)
//将数组转换成集合
//eg:
List<Integer> list =Arrays.asList(1,2,3);
static int binarySearch(Object[] array, Object key)
//使用二分法查找数组内指定元素的索引值
static <T> T[] copyOf(T[] original, int newLength)
//拷贝数组,内部使用System.arraycopy() 方法,从下标0开始,如果超过原数组长度,会用null进行填充
static <T> T[] copyOfRange(T[] original, int from, int to)
//拷贝数组,指定起始位置和结束位置,如果超过原数组长度则会用null填充
static boolean equals(boolean[] a, boolean[] a2)
//判断两个数组是否相等,实际上比较的是两个数组的哈希值即Arrays.hashCode(data1) == Arrays.hashCode(data2)
static boolean deepEquals(Object[] a1, Object[] a2)
//判断两个多维数组是否相等,实际上比较的是两个数组的哈希值
static int hashCode(Object[] a)
//返回数组的哈希值
//eg:
Integer[] data = {1, 2, 3};
System.out.println(Arrays.hashCode(data)); // 30817
static void fill(Object[] a, int fromIndex, int toIndex, Object val)
//用指定元素田中数组,从fromIndex到toIndex,含头不含尾
static void sort(Object[] a)
//对数组元素进行排序
//eg:
String[] data = {"1", "4", "3", "2"};
Arrays.sort(data);
System.out.println(Arrays.toString(data)); // [1, 2, 3, 4]
static <T> void sort(T[] a, Comparator<? super T> c)
//使用自定义比较器,对数组元素进行排序(串行排序)
//eg:
String[] data = {"1", "4", "3", "2"};// 实现降序排序,返回-1放左边,1放右边,0保持不变
Arrays.sort(data, (str1, str2) -> {
if (str1.compareTo(str2) > 0) {
return -1;
} else {
return 1;
}
});
System.out.println(Arrays.toString(data)); // [4, 3, 2, 1]
参考文献:
[1]http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4
[2]https://www.cnblogs.com/yangyquin/p/4949443.html