05_数组

image-20200817113915700

1、为什么会出现数组,它解决了什么

其实很简单,大量的数据出现了,但是缺少将数据存放起来的容器。因此数组出现了。

2、数组的基本概念

数组就是固定大小,里面的元素类型一致的容器

3、同类型的技术对比

除了数组,还有其他的容器类型,比如Collection家族,Map家族,Queue家族等等。

它们各有优劣,但是和数组显著的区别就是数组是定义好之后不可改变容器大小的,而其他的是可以改变的。

4、基本使用

对于数组,有以下几个方面:

  • 对于容器:创建,大小,非空断言

  • 对于单个数据(受到容器自身特性的约束):CRUD,转为其他容器内容(以后说)

对于容器

创建数组

数组定义有三种方式:

  • 类型[] 名字 = new 类型[长度]; int[] arr = new int[3];

  • 类型[] 名字 = new 类型[]{元素1,元素2,元素3,....} int[] arr = new int[]{1,2,3,4,5}

  • 类型[] 名字 = {元素1,元素2,元素3,....} int[] arr = {1,2,3,4,5}

数组在创建的时候必须指定且只能指定一次长度,因为数组的容量是不可以变化的

第一种方式,在创建的时候就已经指定了长度,但是没有指定元素。

第二种和第三种方式,在创建的时候直接指定了固定的元素,也相当于指定了长度。

获取大小

数据名.length arr.length

非空断言

数组非空断言和数组中的内容非空断言:

    public static void main(String[] args) {

        int[] arr = null;

        //数组非空断言
        System.out.println(arr==null);
        
        arr = new int[]{1, 2, 3, 4};

        //元素非空断言
        System.out.println(arr.length>0);
    }

对于单个数据

读取数据

访问数组数据可以通过下标(索引)来访问,比如:arr[0]

更新数据

直接根据数组下标进行数据的更新操作: arr[0] = 1;

5、原理探究

很明显,数组是new出来的,而new出来的都放在堆里

数组是引用类型,非常明显

1、Main方法

2、新建数组,放到堆中,引用给变量

原文地址:https://www.cnblogs.com/howling/p/14230525.html