您的位置:首页 > 编程语言 > Java开发

java.util.Arrays介绍

2017-01-13 15:01 417 查看

一、asList(T ...a)把传进来的参数转为对应的类型的元素存放在List中

int[] arr1=new int[]{1,2,3};
List<Integer> intList=Arrays.asList(1,2);//把1和2存放在List中,此时List有两个元素
System.out.println(intList);
List<int[]> arrList=Arrays.asList(arr1);//把数组arr1存放在List中,此时List有一个元素
System.out.println(arrList);

二、equals(arr1, arr2)比较数据的元素和元素的顺序是否一样

int[] arr2=new int[]{1,2,3};
int[] arr1=new int[]{1,2,3};
int[] arr3=new int[]{1,3,2};
System.out.println(Arrays.equals(arr1, arr2));//true
System.out.println(Arrays.equals(arr1, arr3));//false,跟元素的顺序有关

三、binarySearch(arr1, e)二分查找某个元素是否包含在数组里面,若存在则返回对应的下标,若不存在则返回负数

int[] arr1=new int[]{1,2,3};
Arrays.sort(arr1);
System.out.println(Arrays.binarySearch(arr1, 2));//返回下标1
System.out.println(Arrays.binarySearch(arr1, 5));//返回下标-4
【注意】利用二分法查找时,需要先利用sort()进行排序,要不然结果可能不正确

四、copyOf(int[] original, int newLength) ,copyOfRange(T[] original, int from, int to)数组复制

int[] arr1=new int[]{1,2,3};

int[] newArr=Arrays.copyOf(arr1,2);//1,2
int[] newArr2=Arrays.copyOf(arr1,4);//1,2,3,0

五、deepEquals(Object[] a1, Object[] a2)比较的是对象类型的数组

Integer[] arr3=new Integer[]{1,2,3};
Integer[] arr1=new Integer[]{1,3,2};
Integer[] arr2=new Integer[]{1,3,2};

System.out.println(Arrays.deepEquals(arr1, arr2));//true
System.out.println(Arrays.deepEquals(arr1, arr3));//false

六、deepToString(Object[] a),toString(Object[] a)数组转为字符串

Integer[] arr1=new Integer[]{1,3,2};
Integer[] arr2=new Integer[]{1,3,2};

System.out.println(Arrays.deepToString(arr2));//[1, 3, 2]
System.out.println(Arrays.toString(arr1));//[1, 3, 2]

七、fill(int[] a, int val) 把a数组的所有元素重新赋值为val

int[] arr4=new int[4];
Arrays.fill(arr4, 1);//[1,1,1,1]

八、sort(int[] a)排序

int[] arr3=new int[]{3,1,2};
Arrays.sort(arr3);
System.out.println(Arrays.toString(arr3));//[1, 2, 3]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: