Arrays类

概述

java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。

在程序中通过 import java.util.Arrays;  来进行引用即可使用Arrays类的方法了。


 

操作数组的方法 

Arrays.toString(array); 

返回array数组内容的字符串表示形式。

实例:

package com.Mie;
import java.util.Arrays;    // 引入Arrays

public class MusicDay {
    public static void main(String[] args) {
        // 声明并创建数组
        int[] a = {10, 20, 50, 7, 30};

        // 直接打印将输出数组对应的Hash值
        System.out.println("直接打印输出为:"  + a);

        // 使用Arrays.toString()方法转换为字符串可输出元素
        System.out.println("Arrays.toSring()方法输出为" + Arrays.toString(a));
    }
}

输出结果为:

直接打印输出为:[I@75b84c92
Arrays.toSring()方法输出为[10, 20, 50, 7, 30]

 

Arrays.sort(array);  

1、将array数组数字进行升序排序。

public class MusicDay {
    public static void main(String[] args) {
        // 声明并创建数组
        int[] a = {10, 20, 50, 7, 30};

        // 输出排序前的数组
        System.out.println("没有排序的数组:" + Arrays.toString(a));

        // 输出排序后的数组(升序)
        Arrays.sort(a);     // 进行排序
        System.out.println("升序排序后的数组:" + Arrays.toString(a));
    }
}

输出结果为:

没有排序的数组:[10, 20, 50, 7, 30]
升序排序后的数组:[7, 10, 20, 30, 50]

 

2、字符串排序,先大写后小写

public class MusicDay {
    public static void main(String[] args) {
        String[] strArray = new String[] { "z", "a", "H"};

        Arrays.sort(strArray);
        
        // 输出: [H, a, z]
        System.out.println(Arrays.toString(strArray));
    }
}

 

3、严格按字母表顺序排序,也就是忽略大小写排序 Arrays.sort(strArray,  String.CASE_INSENSITIVE_ORDER);

public class MusicDay {
    public static void main(String[] args) {
        String[] strArray = new String[] { "z", "a", "H"};

        Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
        
        //输出: [a, H, z]
        System.out.println(Arrays.toString(strArray));

    }
}

 

4、选择数组指定位置进行排序:  Arrays.sort(arrayfromIndex toIndex)

public class MusicDay {
    public static void main(String[] args) {
        int[] a = {3,2,1,5,4};
        Arrays.sort(a,0,3);  //给第0位(0开始)到第3位(不包括)排序
        String str = Arrays.toString(a);  // Arrays类的toString()方法能将数组中的内容全部打印出来
             
        //输出:[1, 2, 3, 5, 4]
     System.out.print(str);
    }
}        

 

 

Arrays.fill(arrayval);

可以在指定位置进行数值填充。fill() 方法虽然可以填充数组,但是它的功能有限制,只能使用同一个数值进行填充。

其中,array 表示数组,val 表示填充的值。实例:

public class MusicDay {
    public static void main(String[] args) {
        int[] a = new int[5];   // 声明并创建数组
        System.out.println("没有填充的数组为:" + Arrays.toString(a));

        Arrays.fill(a, 8);  // 使用Arrays.fill方法为数组所有元素更新值为8

        System.out.println("填充后的数组为:" + Arrays.toString(a));
    }
}

 

Arrays.fill  存在多参数的重载方法:

Arrays.fill(array, from, to, val);

参数:

array -- 数组

form  -- 替换开始位置(包括)

to   --    替换结束位置(不包括)

var  --  要替换的值

实例:

public class MusicDay {
    public static void main(String[] args) {
        int[] a = new int[5];   // 声明并创建数组
        System.out.println("没有填充的数组为:" + Arrays.toString(a));

        // 使用Arrays.fill方法为数组索引从1到4(包括头不包括尾)的元素更新值为8
        Arrays.fill(a, 1,4,8);

        System.out.println("填充后的数组为:" + Arrays.toString(a));
    }
}

输出结果为:

没有填充的数组为:[0, 0, 0, 0, 0]
填充后的数组为:[0, 8, 8, 8, 0]

 

 

 

posted @ 2021-02-18 17:41  MieDidXiang  阅读(53)  评论(0)    收藏  举报