欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中的数组工具类Arrays

程序员文章站 2024-01-14 10:22:22
...

数组工具类Arrays

1. 概述

java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组相关的操作,是为数组服务滴,下面将分别介绍 toString 方法和 sort 方法

2. toString方法

2.1 格式

public static String toString(数组);
将参数数组变成字符串(字符串默认的格式:[元素1,元素2,元素3.....]

2.2 代码演示

public class DemoArrys {
    public static void main(String[] args) {
        //随便创一个数组,什么类型都OK,那就创立一个int数组
        int[] intArray = {10, 20, 30};
        //将int数组传进静态方法Arrays.toString,并用一个字符串变量str接收
        String intStr = Arrays.toString(intArray);
        //打印得到的字符串
        System.out.println(intStr);  //[10, 20, 30]
    }
}

3. sort方法

3.1 格式

public static void sort(数组);
按照默认升序(从小到大)对数组的元素进行排序

3.2 代码演示

public class DemoArrys {
    public static void main(String[] args) {
        //创一个int数组,字符串数组也可以
        int[] intArray = {20, 10, 30, 5};
        //将int数组传进静态方法Arrays.sort进行从小到大的排序
        Arrays.sort(intArray);
        //将排序好的int数组转换成字符串
        String intStr = Arrays.toString(intArray);
        System.out.println(intStr);  //[5, 10, 20, 30]

        System.out.println("---------------------------");

        //创立一个String类的数组
        String[] StrArray = {"aaa", "cbc", "bdc"};
        //将数组传进Arrays.sort方法里面
        Arrays.sort(StrArray);
        //将数组转换成字符串的形式,不能直接System.out.println(StrArray); 这样打印的是地址
        String StrSort = Arrays.toString(StrArray);
        //打印排序结果
        System.out.println(StrSort);  //[aaa, bdc, cbc]
    }
}

3.3 注意事项

  1. 如果比较的是数值,sort默认按照升序从小到大
  2. 如果是字符串,sort默认按照字母升序,字符间比较的是在ASCII码表上的数值
  3. 如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持

4. 小练习

4.1 题目

请使用Arrays相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印

4.2 思路

将字符串转成字符数组,然后排序,最后for循环倒序打印

4.3 代码

public class Practice {
    public static void main(String[] args) {
        //新建一个字符串,随便初始化一些什么字符
        String str = "abadbchabsjcasgsdjeifgzx";
        //将字符串转成char数组
        char[] charsArray = str.toCharArray();
        //对char数组进行排序
        Arrays.sort(charsArray);

        //倒序输出,用System.out.print()方法,不需要自动换行
        //小技巧,在2018.3.5版本Idea编译器上,只需charsArray.forr,然后按Alt + Ctrl + 空格就           会自动补全
        for (int i = charsArray.length - 1; i >= 0; i--) {
            System.out.print(charsArray[i]);  //结果是:zxsssjjihggfeddccbbbaaaa
        }
    }
}