• Java中Arrays类中的数组操作方法详解


    🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝

    🥇博主昵称Jovy. 

    🍟博客主页Jovy.的博客

    🥗感谢点赞👍评论🃌

    ⚇很方便的在线编辑器:Lightly

    目录

    今日焦点

    前言

    Arrays类

    Arrays类的fill方法

    用fill方法填充数组

    用fill方法替换数组元素

    Arrays类的复制数组方法

    用copyOf复制数组

    用copyOfRange方法复制部分数组

    Arrays类对数组进行排序

    用sort方法进行升序排序

    问题解答


    今日焦点

    🎫比尔盖茨发文庆祝万维网诞生30周年

    比尔·盖茨称“当数字革命刚开始起步时,我为自己还是个年轻人而感到庆幸,于是我和我的微软同事有机会帮助了这场革命的形成。庆祝万维网诞生30周年,令我怀念起1995年。在那一年,我们推出了IE浏览器。

    前言

    🏵在前面我们讲到了一维数组和二维数组以及开发工具eclipse的配置

    java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

    具有以下功能:

    • 替换元素以及填充元素:通过 fill 方法。
    • 对数组排序:通过 sort 方法,按升序。
    • 比较数组:通过 equals 方法比较数组中元素值是否相等。
    • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

    Arrays类

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

    Arrays类的fill方法

    🎟fill方法有两种用途!

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

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

    用fill方法填充数组

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

    1. import java.util.Arrays; //这里导入Arrays类
    2. public class Fill{
    3. public static void main(String[] args){
    4. int[] mylist = new int[5]; //这里创建一个名称为mylist的数组,数组的元素个个数为5
    5. Arrays.fill(mylist,3); //为数组填充3,格式为fill(列表,数值)
    6. for(int x:mylist){
    7. System.out.println(x);
    8. } //通过for each来遍历数组元素
    9. }
    10. }

    上面的for each以前的文章中介绍过!

    用fill方法替换数组元素

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

    1. import java.util.Arrays;
    2. public class Fill{
    3. public static void main(String[] args){
    4. int[] mylist = {1,2,3,4};
    5. Arrays.fill(mylist, 1,2,4);
    6. for(int x:mylist){
    7. System.out.println(x);
    8. }
    9. } //这是一个特殊的格式Arrays.fill(列表名称,空格正向索引,反向索引,改变的数值)
    10. }

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

    Arrays类的复制数组方法

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

    用copyOf复制数组

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

    1. import java.util.Arrays;
    2. public class Fill{
    3. public static void main(String[] args){
    4. int[] mylist = {1,2,3,4};
    5. int[] justlist = Arrays.copyOf(mylist,4); //将复制后的数组赋值给justlist
    6. //格式Arrays.copyOf(列表,复制后的长度)
    7. for(int x:justlist){
    8. System.out.println(x);
    9. }
    10. System.out.println(mylist);
    11. System.out.println(justlist); //这里输出两个数组的内存空间进行检查
    12. }
    13. //这是一个特殊的格式Arrays.fill(列表名称,空格正向索引,反向索引,改变的数值)
    14. }

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

    用copyOfRange方法复制部分数组

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

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

    注:在末尾有问题解答!

    Arrays类对数组进行排序

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

    用sort方法进行升序排序

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

    1. import java.util.Arrays;
    2. public class Fill{
    3. public static void main(String[] args){
    4. int[] mylist = {1,7,33,4};
    5. Arrays.sort(mylist);
    6. //方式为Arrays.sort(列表)
    7. for(int x:mylist){
    8. System.out.println(x);
    9. }
    10. }
    11. }

    问题解答

    • 为什么要在fill方法中加空格:因为不加空格就会使他执行不正确,无法达到效果
    • 为什么要输出内存空间吗:如果在同一个内存空间,一个数组改变之后另一个也会随之改变,会影响后续程序执行
    • copyOfRange方法如果超出索引最大限度会怎么样:如果超出,则超出部分默认为0!
    • 为什么有些要方法要创建新数组有些不用:因为有些方法是对一个数组进行改变,有些是要重新创建数组!
  • 相关阅读:
    【Redis】9.主从集群
    游戏公司选择高防服务器的四大理由
    英语学习:M开头
    【Android进阶】9、用 RecyclerView 显示列表
    P1634 禽兽的传染病
    Aspice介绍——SWE.1软件需求分析
    L76.linux命令每日一练 -- 第11章 Linux系统管理命令 -- free和iftop
    java动态代理-面向对象的补充
    JavaScript【Element获取元素位置一、Element获取元素位置二、Element对象_方法、Attribute属性的操作 、dataset 属性】(十一)
    前端面试之前端工程化篇
  • 原文地址:https://blog.csdn.net/m0_46232425/article/details/126220665