二维数组的创建和Arrays方法的使用(《Java核心技术卷1》)(202105116)

各位小伙伴们大家好:

      今天周日,又是在图书馆看书的下午,今天继续上一篇随笔说的数组继续进行总结。

    建议读者在创建数组时,使用int[ ] a 这种而不是 int a[ ]这种,可以很清晰明朗地看出创建的是一个数组。

   一、二维数组的创建(共3中初始化方式):

        1、int[ ][ ]  twoArray1={{1,2},{3,4},{5,6},{7,8}};

        2、int[ ] [ ] twoArray2=new int[4] [2];  ——一共4个{ },每个{ }内有两个元素。

        3、int[ ] [ ] twoArray3=new int[4] [ ];   ——后面的长度可以不固定。

   二、遍历二位数组(共2中遍历方式):

        1、二维数组不可以用for each()进行遍历,只能用普通for进行遍历:

            for循环需嵌套:
             for(int i=0;i<twoArray.length;i++){

             for(int j=0;j<twoArray[i].length;j++){

    System.out.print(twoArray[i][j]);

      }

         2、利用Arrays.deepToString()方法进行输出:

             System.out.println(Arrays.deepToString(twoArray));

             输出的结果为:

 

 三、Arrays的方法及用途:

        1、Arrays定义:是jdk中自带的用于操作array的工具类,里面的方法都是静态的:

        2、下面我们就来详细地介绍一下Arrays都有哪些方法和具体的用途:
            1)Arrays.sort:数组排序,这个方法使用了优化的快速排序(QuickSort)算法,快速排序算法对于大多数数据集合来说效率都是比较高的。

eg:

               

 

输出 :    

 

 

            2)Arrays.ToString() 返回一个包含数组中所有元素的字符串,这些元素用中括号包围,并用“,” 进行分割。在这个方法及后面的方法中,数组的元素类型可以是

                byte,short,int,long,float,double,chart,boolean

eg:

 

 

输出:

 

 这时读者就会好奇了,为什么每一个,后面都要有一个空格然后才有下一个元素。现在我们就来看一下ToString()的源码,大家可能就豁然开朗了。

 

            3)copyOf这个方法在上一篇文章中已经提到了,此处略。

            4)Arrays.binarySearch()  使用二分法在有序数组中(必须是有序数组,否则方法无效直接返回负数)

                  static int binarySearch(xxx[ ]a,int start,int end,xxx v )xxx为数据类型

     在有序输出中查找值v,如果找到v,则返回相应的下标,否则返回一个负数。

            5)staic void fill (xxx[ ] a,xxx v) 将数组所有的元素设置为v。

            6)static boolean  equals (xxx[ ] a,xxx[ ] b) 如果两个数组的大小相同,并且下标相同的元素都对应相等,则返回true。

 

 

 

 

 

 

 

 

 

 

 

 

 

     

              

        

posted @ 2021-05-16 18:03  cx330sky  阅读(375)  评论(0编辑  收藏  举报