常用类:Arrays工具类

Arrays工具类

Arrays工具类提供了一些操作数组的静态方法。

import java.util.Arrays;
import java.util.Objects;
public class ArraysDemo01 {
    public static void main(String[] args) {
        //static int compare(int[] a, int[] b)
        int[] arr = {1,2,3,4,7,6,5};
        int[] arr3 = {1,2,3,4,7,6,5};
        int[] arr2 = {1,2,333,4,5,666};
        System.out.println(Arrays.compare(arr,arr2));
        System.out.println(Arrays.compare(arr,arr3));
        String[] s1 ={"ab"};
        String[] s2 ={"AB"};
        System.out.println(Arrays.compare(s1,s2));
        System.out.println(Arrays.compare(s2,s1));
        //static int[] copyOf(int[] original, int newLength)  截取  拷贝  填充,默认从索引为0的位置开始
        System.out.println(Arrays.toString(Arrays.copyOf(arr,4)));
        System.out.println(Arrays.toString(Arrays.copyOf(arr,14)));
        System.out.println(Arrays.toString(Arrays.copyOf(arr,7)));
        //static int[] copyOfRange(int[] original, int from, int to) 将指定数组的指定范围复制到新数组中。结束索引不包含
        System.out.println(Arrays.toString(Arrays.copyOfRange(arr,4,6)));
        //static boolean equals(boolean[] a, boolean[] a2)
        //static boolean deepEquals(Object[] a1, Object[] a2) 深层比较是否相等,针对于多维数组
        System.out.println(Arrays.equals(arr,arr3));
        System.out.println(Arrays.equals(arr,arr3));
        Student[][] stus1 = {
            {
                new Student("zhangsan",18),
                new Student("lisi",19)
            },
            {
                new Student("wangwu",17)
            }
        };
        Student[][] stus2 = {
            {
                new Student("zhangsan",18),
                new Student("lisi",19),
            },
            {
                new Student("wangwu",17)
            }
        };
        //比较内层的内一个小数组的地址是否相等
        System.out.println(Arrays.equals(stus1,stus2));
        //比较二位数组中每一个具体的学生对象数据是否相等,如果Student中重写equals方法比较内容,否则比较每一个Student对象的地址
        System.out.println(Arrays.deepEquals(stus1,stus2));
        //toString
        System.out.println(Arrays.toString(stus1));
        //以字符串的形式打印多维数组中数据deepToString
        System.out.println(Arrays.deepToString(stus1));
        //fill 填充
        Arrays.fill(arr3,100);
        System.out.println(Arrays.toString(arr3));
        //指定区间使用定值填充,结束索引不包含
        Arrays.fill(arr3,1,3,1000);
        System.out.println(Arrays.toString(arr3));
        //static int mismatch(boolean[] a, boolean[] b)  查找两个数组中第一个不相等的数据的索引
        System.out.println(Arrays.mismatch(arr,arr2));
        //static void sort(int[] a, int fromIndex, int toIndex) 按升序对数组的指定范围进行排序。
        Arrays.sort(arr,4,7);
        System.out.println(Arrays.toString(arr));
        //static int binarySearch(int[] a, int key) 使用二进制搜索算法在指定的int数组中搜索指定的值。要求前提升序排序
        System.out.println(Arrays.binarySearch(arr,10));  //打印-8 -插入点-1
    }
}
class Student{
    private String name;
    private int age;
    public Student() {
    }
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age &&
                Objects.equals(name, student.name);
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值