[Java · 铢积寸累] 数据结构 — 数组类型 - Arrays 工具类详解

#新星杯·14天创作挑战营·第10期#

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册

基础回顾 🚀: Java · 初窥门径 —— Java API 文档使用说明

在前面的章节中,我们介绍了 Java 中的数组以及针对的数组的各个操作。可是呢,对于数组的增删改查我们当时都是通过算法完成的,还是太吃操作了。有没有更简单的方法呢?

有的,兄弟,有的,Java 提供了一个 Arrays 类,该类中就包含了用来操作数组的各种方法:

0x01:toString() => 打印数组内容

Arrays 类(至于啥是类,我们很快就会接触到)中的 toString() 方法能够打印数组的内容,从 Java 的 API 文档可以看出来,它还是写了不少重载的方法的(笔者没截全)。

以下是该方法的一个使用示例:

import java.util.Arrays;
​
public class TestVar {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        System.out.println(Arrays.toString(arr));
    }
}

0x02:sort() => 对数组进行升序排序

Arrays 类中的 sort() 方法则可以帮助我们给数组进行升序排序:

import java.util.Arrays;
​
public class TestVar {
    public static void main(String[] args) {
        int[] arr = {5, 4, 3, 2, 1};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

0x03:binarySearch() => 对数组进行二分法查找

Arrays 类的 binarySearch() 方法通过二分法来从指定数组中获取指定元素对应的下标(前提是这个数组已经按升序排好序了)。示例代码如下:

import java.util.Arrays;
​
public class TestVar {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40};
        System.out.println(Arrays.binarySearch(arr, 30));
    }
}

0x04:copyOfRange => 区间复制

Arrays 类的 copyOfRange() 方法可是实现数组的区间复制,看下面这个例子:

import java.util.Arrays;
​
public class TestVar {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40};
        int[] arrs = new int[3];
        arrs = Arrays.copyOfRange(arr, 1, 3); // 复制 [1, 3) 的位置的值
        System.out.println(Arrays.toString(arrs));
    }
}

0x05:equals => 比较数组是否相等

Arrays 类的 equals() 方法用于比较两个数组对象的值是否相等,相等则返回 true,否则返回 false:

import java.util.Arrays;
​
public class TestVar {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40};
        int[] arrs = {10, 20};
        System.out.println(Arrays.equals(arrs, arr));
    }
}

0x06:fill => 填充数组

Arrays 中的 fill() 方法能够使用指定值填充满数组,又可以指定填充的范围:

import java.util.Arrays;
​
public class TestVar {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40};
        int[] arrs = {10, 20, 30, 40, 50};
        Arrays.fill(arr, 10); // 使用 10 填充满 arr
        Arrays.fill(arrs, 1, 3, 20); // 指定将数组的 [1, 3) 填充为 20
​
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(arrs));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue17 :: Hack3rX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值