Arrays工具类

java.uitl.Arrays类为操作数组的工具类,包含了操作数组的各种方法

方法用法
boolean equals(int[] a, int[] b)判断两个数组是否相等
String toString(int[] a)输出数组信息
void fill(int[] a, int val)将指定值填充到数组中
void sort(int[] a)对数组进行排序
int binarySearch(int[] a, int key)对排序后的数组进行二分法检索指定的值
  • boolean equals(int[] a, int[] b)   判断两个数组是否相等
import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 2, 3, 4};
        int[] arr2 = new int[]{1, 3, 2, 4};
        boolean isEquals = Arrays.equals(arr1, arr2);
        System.out.println(isEquals);
    }
}
/*
false
 */
equals()方法的源码
    public static boolean equals(int[] a, int[] a2) {
        if (a==a2)
            return true;
        if (a==null || a2==null)
            return false;

        int length = a.length;
        if (a2.length != length)
            return false;

        for (int i=0; i<length; i++)
            if (a[i] != a2[i])
                return false;

        return true;
    }
  • String toString(int[] a)  输出数组信息
import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 2, 3, 4};
        System.out.println(Arrays.toString(arr1));
    }
}
/*
[1, 2, 3, 4]
 */
toString()方法的源码
    public static String toString(int[] a) {
        if (a == null)
            return "null";
        int iMax = a.length - 1;
        if (iMax == -1)
            return "[]";

        StringBuilder b = new StringBuilder();
        b.append('[');
        for (int i = 0; ; i++) {
            b.append(a[i]);
            if (i == iMax)
                return b.append(']').toString();
            b.append(", ");
        }
    }
  • void fill(int[] a, int val)  将指定值填充到数组中
import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 2, 3, 4};
        int[] arr2 = new int[]{1, 3, 2, 4};
        System.out.println(Arrays.toString(arr1));
        Arrays.fill(arr1, 10);
        System.out.println(Arrays.toString(arr1));
    }
}
/*
[1, 2, 3, 4]
[10, 10, 10, 10]
 */
fill()方法的源码
    public static void fill(int[] a, int val) {
        for (int i = 0, len = a.length; i < len; i++)
            a[i] = val;
    }
  • void sort(int[] a)  对数组进行排序(默认排序为升序排序)
import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args) {
        int[] arr2 = new int[]{1, 3, 2, 4};
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));
    }
}
/*
[1, 2, 3, 4]
 */
  • int binarySearch(int[] a, int key)  对排序后的数组进行二分法检索指定的值
    –binarySearch方法为二分法查找,所以数组必须是有序的或者是用sort()方法排序之后的
    1.搜索值在数组中,返回返回索引值
    2.搜索值不在范围内,且小于范围内元素,由1开始计数,返回 -1 或**- 插入点** (负号+插入点)
    3.搜索值不在范围内,且大于范围内元素,返回 -(endIndex + 1)
import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args) {
        int[] arr2 = new int[]{1, 7, 9, 5};
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));
        int index = Arrays.binarySearch(arr2, 9);
        int index2 = Arrays.binarySearch(arr2, 4);
        int index3 = Arrays.binarySearch(arr2, 10);
        System.out.println(index);
        System.out.println(index2);
        System.out.println(index3);
    }
}
/*
[1, 5, 7, 9]
3
-2
-5
 */
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值