Day06javaSEjava.util.Arrays练习

//测试Arrays
//记得之前测试过 Math类,
// Math类在java.lang包下,是一个最终类,不能构造,
//Arrays在java.util下
//它的构造方法是私有的,我们就不能构造了,但是它的方法是公共的静态的,可以通过类使用
import java.util.Arrays;

public class TestArrays {
    public static void main(String[] args){
            test();
    }
    public static void test(){
        //一个基本数据类型,一个引用数据类型
        int[] num = new int[10];
        Integer[] integers = new Integer[10];



        //首先Arrays是一个工具类,因为他就在util包下面,
        //Arrays就是为了帮我们处理数组。

        //数组的常用操作,遍历,排序,查找某个元素有时需要用循环或者算法实现。
        //于是Arrays就提供了一些方法。
        //我们也可以写一个数组工具类,但现在我们要学一下这个类的一些方法,思路
        //毕竟是sun公司弄的东西


        //一、数组遍历 toString();
        //还有一个deeptoString(),多维数组变量,
        System.out.println(Arrays.toString(num));//[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
        System.out.println(Arrays.toString(integers));//[null, null, null, null, null, null, null, null, null, null]
        //试一下2维数组
        int[][] arr2 = new int[][]{{1,2,3},{4,5,6},{7,8}};
        Integer[][] arr3 = new Integer[][]{{1,2,3},{4,5,6},{7,8}};
        System.out.println(Arrays.toString(arr2));//[[I@776ec8df, [I@4eec7777, [I@3b07d329]

        System.out.println(Arrays.toString(arr3));//[[Ljava.lang.Integer;@41629346, [Ljava.lang.Integer;@404b9385, [Ljava.lang.Integer;@6d311334]

        System.out.println(Arrays.deepToString(arr2));//[[1, 2, 3], [4, 5, 6], [7, 8]]

        System.out.println(Arrays.deepToString(arr3));//[[1, 2, 3], [4, 5, 6], [7, 8]]

        //总结
        //1、基本数据类型数值的值和引用数据类型数组的值不同
        //2、deepToString能实现深层遍历,这个就非常强大了,我写不了,因为多维数组是一个树
        //遍历一棵树,我还要看看这个树是什么样子的,
        // 数组真的遍历起来我就不懂了。sun公司这一套给我整不会了。


        //二、之前已经探究了sort方法,
        //sort方法可以处理基本数据类型的数组,元素只能值排序,按照升序排序。
        //也可以处理引用数据类型的数组,并且我们可以new Comparator类(也就是匿名)
        // 并重写 compare方法 这个方法参数都是Object对象,返回值是int类型。运行时参数表示22比较的元素,返回值表示位置。
        //这个方法可以完成排序

        //三、还有就是fill方法,用于将数组的元素批量顺序赋值
        //因为数组可以随机存取啊,一个位置存值就不需要调用该方法了。

        //    public static void fill(int[] a, int val)
        Arrays.fill(num,10);//所有元素都赋值为10
        System.out.println(Arrays.toString(num));
        //    public static void fill(int[] a, int fromIndex, int toIndex, int val)
        Arrays.fill(num,1,5,8);//开始下标1,结束下标5(不包括的),值为8
        System.out.println(Arrays.toString(num));



    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漫漫程序鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值