• Arrays类


    Arrays类
    🎖Arrays类是Java中用来操作数组的模块他的使用方法是在Java类中使用import java.util.Arrays进行导入,并使用Arrays.方法()进行调用方法!

    Arrays类的fill方法
    🎟fill方法有两种用途!

    第一种就是填充数组,将数组中的全部元素转换为所输入的元素

    第二种就是替换数组元素,将数组中某个元素进行单个替换

    用fill方法填充数组
    🌋在初始化一个数组之后,如果没有给数组的元素赋值,那么这个数组中的元素默认是为0的,那么我们一个个进行赋值又会略显麻烦,会堆积代码!所以我们就需要用到fill方法进行填充,但是这么做会让全部元素变成同一个数值!

    import java.util.Arrays; //这里导入Arrays类
    public class Fill{
    public static void main(String[] args){
    int[] mylist = new int[5]; //这里创建一个名称为mylist的数组,数组的元素个个数为5
    Arrays.fill(mylist,3); //为数组填充3,格式为fill(列表,数值)
    for(int x:mylist){
    System.out.println(x);
    } //通过for each来遍历数组元素
    }
    }
    上面的for each在以前的文章中介绍过!

    用fill方法替换数组元素
    🏜在给元素赋值完或者是填充完元素之后,如果想对某个元素进行修改,那么我们就要重新赋值或者是替换元素,但是重新赋值会增加代码,让代码显得更繁琐,所以Arrays类中提供了替换元素的方法fill!

    import java.util.Arrays;
    public class Fill{
    public static void main(String[] args){
    int[] mylist = {1,2,3,4};
    Arrays.fill(mylist, 1,2,4);
    for(int x:mylist){
    System.out.println(x);
    }

    } //这是一个特殊的格式Arrays.fill(列表名称,空格正向索引,反向索引,改变的数值)
    
    • 1

    }

    🎬这里的正反向索引指向的一定要是同一个元素!

    Arrays类的复制数组方法
    🎟在Java程序的使用过程中,有时候会需要一个含有相同或者是部分相同元素的数组,但是重新创建数组的话就会增加代码长度,减少代码可读性,那么我们就可以使用到复制数组或者是部分数组的方法!

    用copyOf复制数组
    ☄️copyOf方法提供了多种重载的方法,用以复制数组,增加代码可读性。该方法不受数组长度的限制,若超出,则多处部分为0!

    import java.util.Arrays;
    public class Fill{
    public static void main(String[] args){
    int[] mylist = {1,2,3,4};
    int[] justlist = Arrays.copyOf(mylist,4); //将复制后的数组赋值给justlist
    //格式Arrays.copyOf(列表,复制后的长度)
    for(int x:justlist){
    System.out.println(x);
    }
    System.out.println(mylist);
    System.out.println(justlist); //这里输出两个数组的内存空间进行检查
    }

     //这是一个特殊的格式Arrays.fill(列表名称,空格正向索引,反向索引,改变的数值)
    
    • 1

    }

    解:从以上结果可以看出赋值成功了,并且内存空间不同(下面我会解释为什么要输出内存空间)

    用copyOfRange方法复制部分数组
    🎗有时候在编辑代码的时候只需要中间一部分代码,但是copyOf方法只能复制以前面部分为开头的元素,而不能直接复制中间的代码,为了解决这一个问题,这个类提供了另一个方法copyOfRange方法(中文意思:选择复制)利用这个方法就可以解决这一个问题!

    import java.util.Arrays;
    public class Fill{
    public static void main(String[] args){
    int[] mylist = {1,2,3,4};
    int[] justlist = Arrays.copyOfRange(mylist,1,3);
    //Arrays类的方法使用形式Arrays.copyOfRange(列表,第一个索引位置,第二个索引位置)
    for(int x:justlist){
    System.out.println(x);
    }
    }
    }

    注:在末尾有问题解答!

    Arrays类对数组进行排序
    🎟在代码编译过程中,有时候会需要用到有序的一组数组才能进行更好的操作,但是我们重新进行编译会增加代码数量,所以我们要对代码进行排序,Java中提供了sort方法对数组的元素进行升序排序!

    用sort方法进行升序排序
    🎬在Java编译过程中,有顺序的数组会让你的编译更加方便,使得你自己以及其他参与编译的人更加清楚,尤其是适合那些大基数的数组更为适用和实用!

    import java.util.Arrays;
    public class Fill{
    public static void main(String[] args){

        int[] mylist = {1,7,33,4};
        Arrays.sort(mylist);
        //方式为Arrays.sort(列表)
        for(int x:mylist){
            System.out.println(x);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    }

    问题解答

    为什么要在fill方法中加空格:因为不加空格就会使他执行不正确,无法达到效果
    为什么要输出内存空间吗:如果在同一个内存空间,一个数组改变之后另一个也会随之改变,会影响后续程序执行
    copyOfRange方法如果超出索引最大限度会怎么样:如果超出,则超出部分默认为0!
    为什么有些要方法要创建新数组有些不用:因为有些方法是对一个数组进行改变,有些是要重新创建数组!

  • 相关阅读:
    链表应用(C++,递增合并、递增求交集、逆序、删除区间)
    Day 06 python学习笔记
    Java泛型
    神经网络前向和后向传播推导(一):概览
    浅谈综合管廊建设提速后的运维管理
    【Linux】之Jumpserver堡垒机添加Windows主机资产
    入门力扣自学笔记194 C++ (题目编号:754)
    Modelsim实现波形比较
    08.23类属性和实例属性
    在安卓手机上搭建一台微型服务器
  • 原文地址:https://blog.csdn.net/m0_71905144/article/details/126250825