Arrays中常用的方法

35 阅读1分钟

Arrays中常用的五个方法

Arrays是数组的工具类,等同于ArrayUtil,里面存放了一些对数组的操作方法,可用Arrays.方法名的方式调用。

【方法一】toString():返回数组的内容,可以遍历数组,打印元素

int[] arr = {3, 2, 4, 5, 6, 7, 8};

System.out.println(Arrays.toString(arr));

在这里插入图片描述

【方法二】copyOfRange():指定范围拷贝数组

int[] arr = {3, 2, 4, 5, 6, 7, 8};

// 复制arr下标3~8(不包括8)的元素到新数组中, 超出arr数组的部分以0填充
int[] newArr = Arrays.copyOfRange(arr, 3, 8);

System.out.println(Arrays.toString(newArr));

在这里插入图片描述

【方法三】copyOf:拷贝数组

斐波那契查找中会用到该方法

int[] arr = {3, 2, 4, 5, 6, 7, 8};

// 复制arr中的元素,从第一个元素开始,指定长度,超过arr的部分以0填充
int[] newArr = Arrays.copyOf(arr, arr.length + 3);

System.out.println(Arrays.toString(newArr));

在这里插入图片描述

【方法四】setAll():修改集合内所有的元素,返回一个新的数组

double[] price = {150.0, 200.0, 450.0, 900.0, 1450.0, 2000.0};

// 将price里面的所有元素打八折(*0.8)
Arrays.setAll(price, new IntToDoubleFunction() {
    @Override
    public double applyAsDouble(int value) {
        return price[value] * 0.8;
    }
});

System.out.println(Arrays.toString(price));

可以用lambda表达式简写上面的代码

double[] price = {150.0, 200.0, 450.0, 900.0, 1450.0, 2000.0};

// 将price里面的所有元素打八折(*0.8)
Arrays.setAll(price, (value) -> price[value] * 0.8);

System.out.println(Arrays.toString(price));

在这里插入图片描述

【方法五】Arrays.sort():对数组元素排序

int[] arr = {7, 53, 2, 4, 6, 2, 45, 6, 7, 8, 76, 299};

// 对数组元素排序,默认是升序
Arrays.sort(arr);

System.out.println(Arrays.toString(arr));

在这里插入图片描述 如果是元素是对象的话,需要加比较器,参考《对象排序的两种实现方式》(blog.csdn.net/qq_42108331…

首次发布

hezhongying.blog.csdn.net/article/det…