数组

1、数组的概述

      概念:数组是相同数据类型数据的有序集合(每一个数据时一个数组元素,可以通过下标来进行访问)

     数组的基本特点

           1.长度是确定的,数组一旦被创建,数组的长度就不会改变

           2.数组元素必须是相同的类型,不存在混合类型

           3.数组的类型可以任何类型,可以使基本数据类型也可以是引用数据类型

           4.数据变量属引用数据类型,数组也可以看成对象,数组中的每个元素可以看成该对象的成员变量

           5.数组本身就是对象,java中的对象在堆中,所以数组对象本身是在堆中

2、数组的声明、初始化、创建

       数组必须先声明才能使用

      声明的语法

            数组类型[] 数组名; //首选方法

            数组类型 数组名[]; //效果相同,但是不是首选方法

      数组的初始化

           1.静态初始化

               

        int[] a = {1,2,3,4};
        int[] b = new int[]{0,6,4,3,3};

 

 

 

           2.动态初始化

           

       int[] c = new  int[5];

 

 

 

3、数组的使用

        数组元素的访问索引是从0开始的

      数组的长度是:  数组名.length

 

         1、数组当做方法的入参

              

public class shuzu1 {
    public static void main(String[] args) {
           int[] a  = {1,2,3,4};
           f(a);
    }
    public  static  void f(int[] a){
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }
}

 

 

 

         2、数组可以作为返回值

 //反转函数
    public  static  int[] reserse(int[] a)
    {
        int[] result = new int[a.length];
        //反转操作
        for (int i = 0,j=result.length-1; i <a.length; i++,j--) {
             result[j] = a[i];
        }
        return  result;
    }

 

4、多维数组

     1.二维数组

      1、理解:二维数组可以看成一数组的数组,二维数组就是一个特殊的一维数组,每一个元素都是一个一维数组

      2、样式:int a[][]  = new int[3][4];  (二维数组a可以看成一个三行四列的数组)

      3、声明、初始化和创建

           

 1 /* 第一种方式 */
 2 int tdarr1[][] = { { 1, 3, 5 }, { 5, 9, 10 } };
 3 /* 第二种方式 */
 4 int tdarr2[][] = new int[][] { { 65, 55, 12 }, { 92, 7, 22 } };
 5 /* 第三种方式 */
 6 int tdarr3[][] = new int[2][3]; // 先给数组分配内存空间
 7 tdarr3[0] = new int[] { 6, 54, 71 }; // 给第一行分配一个一维数组
 8 tdarr3[1][0] = 63; // 给第二行第一列赋值为63
 9 tdarr3[1][1] = 10; // 给第二行第二列赋值为10
10 tdarr3[1][2] = 7; // 给第二行第三列赋值为7

5、Arrays类

     1、Arrays数数组的工具类,java.util.Arrays,里面提供的操作数组的方法都是static修饰的静态方法可以直接使用;

     2、常用的方法

         给数组赋值:fill()方法;

         数组排序:sort();

         比较数组:equals();

         查找数组元素:binarySearch()能对排序好的数组进行二分法查找

         打印数组元素:toString()

6、稀疏数组

      1、 是一种数据结构,对算法可以进行压缩

     2、当一个数组中,大部分元素是0,或者是为同一个值的时候,可以用稀疏数组来保存该数组

     3、稀疏数组的处理方式

           1、记录数组有几行几列,有多少个不同的值;

           2、把具有不同值的元素和行列以及值记录在一个小规模的数组中,从而缩小数组的规模;

          

 

 

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

posted @ 2021-03-17 23:10  晓苏_Shawn  阅读(452)  评论(0编辑  收藏  举报