Arrays

Array里面包含一系列静态方法,用于管理或操作数组,例如排序和搜索。

  1. toString返回数组的字符串形式
     Arrays.toString(arr)
    
  2. sort排序(自然排序和定制排序)
  3. binarySearch 通过二分查找来搜索,要求必须排好序
int index = Arrays.binarySearch(arr, 3);

sort方法

  1. 可以直接使用冒泡排序,也可以使用Arrays提供的sort方法排序
    Arrays.sort(arr);
    
  2. 因为数组是引用类型,通过sort排序后,会影响到实参arr
  3. sort重载的,也可以通过一个传入一个借口Comparator实现定制排序
  4. 调用定制排序时,传入两个参数:
    (1) 排序的数组arr
    (2) 实现了Comparator接口的匿名内部类,要求实现compare方法
    Integer arr[] = {88, 0, -1, 20};
        Arrays.sort(arr, new Comparator(){
            @Override
            public int compare(Object o1, Object o2) {
                Integer i1 = (Integer) o1;
                Integer i2 = (Integer) o2;
                return i2-i1;//i1-i2就是从小到大
            }
        });
        System.out.println(Arrays.toString(arr));
    

二分搜索

binarySearch要求数组是有序的

copyOf 数组元素复制

Integer[] newarr = Arrays.copyOf(arr, n);//拷贝arr中前n个元素到newarr中

如果拷贝的长度n > arr.length 就在新数组后面增加null

fill 数组元素填充

Integer[] num = new Integer[]{9, 3, 2};
Arrays.fill(num, 99);//用第二个参数去替换原有元素



本文章使用limfx的vscode插件快速发布