欢迎访问宙启技术站
智能推送

使用Java中的Arrays类:对数组进行排序、去重、搜索等操作

发布时间:2023-05-20 07:11:01

Java中的Arrays类提供了丰富的方法来对数组进行排序、去重、搜索等操作。这些方法可以轻松地对数组进行操作,提高代码的效率和可读性。下面就来介绍一下Arrays类的常用方法。

1. sort()方法

sort()方法用来对数组进行排序,默认是升序排序。我们可以通过reverseOrder()方法来实现降序排序。示例代码如下:

import java.util.Arrays;

public class SortDemo {
    public static void main(String[] args) {
        int[] nums = {3, 1, 4, 5, 2};
        Arrays.sort(nums);
        System.out.println("升序排列:" + Arrays.toString(nums));
        
        Integer[] nums2 = {3, 1, 4, 5, 2};
        Arrays.sort(nums2, Arrays.reverseOrder());
        System.out.println("降序排列:" + Arrays.toString(nums2));
    }
}

输出结果为:

升序排列:[1, 2, 3, 4, 5]
降序排列:[5, 4, 3, 2, 1]

2. binarySearch()方法

binarySearch()方法用来在有序数组中查找指定元素的索引值,如果不存在则返回负数。示例代码如下:

import java.util.Arrays;

public class BinarySearchDemo {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5};
        int index = Arrays.binarySearch(nums, 3);
        System.out.println("索引值:" + index);
    }
}

输出结果为:

索引值:2

3. toString()方法

toString()方法用来将数组转换为字符串形式。示例代码如下:

import java.util.Arrays;

public class ToStringDemo {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5};
        System.out.println(Arrays.toString(nums));
    }
}

输出结果为:

[1, 2, 3, 4, 5]

4. equals()方法

equals()方法用来比较两个数组是否相等。示例代码如下:

import java.util.Arrays;

public class EqualsDemo {
    public static void main(String[] args) {
        int[] nums1 = {1, 2, 3, 4, 5};
        int[] nums2 = {1, 2, 3, 4, 5};
        boolean result = Arrays.equals(nums1, nums2);
        System.out.println("比较结果:" + result);
    }
}

输出结果为:

比较结果:true

5. fill()方法

fill()方法用来给数组的所有元素赋值。示例代码如下:

import java.util.Arrays;

public class FillDemo {
    public static void main(String[] args) {
        int[] nums = new int[5];
        Arrays.fill(nums, 1);
        System.out.println("数组赋值:" + Arrays.toString(nums));
    }
}

输出结果为:

数组赋值:[1, 1, 1, 1, 1]

6. copyOf()方法

copyOf()方法用来将数组复制到新的数组中。示例代码如下:

import java.util.Arrays;

public class CopyOfDemo {
    public static void main(String[] args) {
        int[] nums1 = {1, 2, 3};
        int[] nums2 = Arrays.copyOf(nums1, 5);
        System.out.println("新数组:" + Arrays.toString(nums2));
    }
}

输出结果为:

新数组:[1, 2, 3, 0, 0]

7. distinct()方法

distinct()方法用来去除数组中的重复元素。示例代码如下:

import java.util.Arrays;

public class DistinctDemo {
    public static void main(String[] args) {
        Integer[] nums1 = {1, 2, 3, 1, 2};
        Integer[] nums2 = Arrays.stream(nums1).distinct().toArray(Integer[]::new);
        System.out.println("去重后的数组:" + Arrays.toString(nums2));
    }
}

输出结果为:

去重后的数组:[1, 2, 3]

注:去重操作需要使用Java 8的stream()方法。

总结

以上就是Arrays类常用方法的介绍。Arrays类提供了丰富的方法用来对数组进行排序、去重、搜索等操作,可以提高编程效率和可读性。在实际开发中,可以根据需求灵活使用。