Skip to Content

Java类Arrays

java.util.Arrays此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。

常用方法

toString(Object[] arr):返回数组的字符串形式。

Arrays.toString(arr);

sort(...):排序,分为自然排序和定制排序两种。因为数组是引用类型,所以使用该方法排序后会直接影响原数组的元素顺序。

Integer[] arr = {1, -7, 0, 85, 62}; // 自然排序 Array.sort(arr); // 定制排序,第二个数组传入一个比较器 Array.sort(arr, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } });

sort方法定制排序时,会走到TimSort类的BinarySory方法,然后调用传入的比较器的compare方法,该方法的返回值来决定排序的顺序

binarySearch(Objectp[] arr, Object obj):通过二分搜索法进行查找,要求传入的数组有序并且是升序。

如果数组不存在该元素或者数组无序,返回负数。 如果数组中不存在,返回的是应该在的位置+1的相反数,就是一个负数。

copyOf(Object[] arr, int a):返回一个新数组,将arr数组中的的前a个元素复制到新的数组中,如果传入的a大于arr数组的索引,大于的部分的元素会设置为默认值。

如果a传入负数会报异常。 该方法的底层使用的是System.arraycopy()方法。

fill(Objectp[] arr, Object obj):数组元素填充,将arr数组中的元素全部填充为obj。

equals(Objectp[] arr, Objectp[] arr2):比较两个数组内容是否完全一致,完全一样返回true。

asList(...):返回一个List对象,将一组值转换为List。

编译类型是List接口,运行类型是Arrays类中的静态内部类ArrayList类。