这个类包含各种操作数组的方法(例如排序和搜索)。该类还包含一个允许将数组视为列表的静态工厂。如果指定的数组应用为空,则该类中的方法都将抛出 空指针异常,除非特别说明了这一点。
方法
1.toString()
返回指定数组内容的字符串表示形式。
public static String toString(Object[] a){};
实现方法:
- 先判断,a是否为null,返回null。
- 再判断,a是否为空,返回"[]";
- 利用for循环和StringBuild类。最后返回字符串。
2.sort
将指定的数组按升序排序。
public static void sort(int[] a){};
实现方法:
- 调用了DualPivotQuicksort类 排序
3.binarySearch
使用二进制搜索算法在指定的int数组中搜索指定的值,返回索引。
注意:数组必须是升序的有序数组。如果数组中包含多个具有指定值的元素,则不能保证找到的是哪个。
public static int binarySearch(int[] a, int key){};
实现方法:用的是二分查找。
- 先找出整个数组索引的中间值mid(开始索引begin,结束索引end,mid=(begin+end)>>>1);
- 判断a[mid]和key的大小,如果a[mid]>key,那么end=mid-1;如果a[mid]<key,那么begin=mid+1
- 依次循环,直到a[mid]==key,返回mid;