Java:数组

目录

1.什么是数组?

2.数组的分类

3.Java数组存储元素的特点?

4.数组的优点和缺点?


1.什么是数组?

        (1)Java中数组是一种用于存储多个相同数据类型元素的容器

        (2)例如存放int元素的数组 int[] nums = {8,2,3,5,3,5,6};

        (3)例如存放String元素的数组 String[] names = {"jack","jay","zhangsan"};

        (4)数组是一个对象,存储在堆内存中

2.数组的分类

        (1)根据存放元素的类型分类:基本类型数组, 引用类型数组

        (2)根据维数进行分类:一维数组, 二维数组, 三维数组, 多维数组...

        (3)根据数组初始化方式的不同进行分类:静态数组, 动态数组

                静态数组:通过静态初始化的数组,语法格式有两种:

                        第一种:数据类型[] 变量名 = new 数据类型[]{元素1, 元素2, 元素3....};

                                    int[] arr = new in[]{3,2,6,4,8};

                        第二种:数据类型[] 变量名 = {元素1, 元素2, 元素3....};

                                    int[] arr = {3,2,6,4,8};

                动态数组:通过动态初始化的数组,语法格式如下:

                        数据类型[] 变量名 = new 数据类型[长度];

                        int[] arr = new int[6]; 

3.Java数组存储元素的特点?

        (1)数组的长度一旦确定是固定不变的

        (2)数组中每个元素的数据类型是相同的,也意味着所占空间大小是相同的

        (3)数组中存储元素的空间的内存地址是连续的

        (4)每个数组对象都有length属性,可以通过length知道当前数组的长度,元素个数

        (5)每个元素都有索引(也叫下标),首元素索引是0,以1往后递增,末尾元素索引是length - 1;

        (6)数组变量存储着数组对象在堆内存中的内存地址,数组对象的内存地址是首元素的内存地址

4.数组的优点和缺点?

        (1)数组优点:查找效率极高,无论数组中100个元素还是100万个元素,查找效率是一样的,时间复杂度O(1),也就是说无论数组的长度是多少,根据索引查找数组当中的任一元素,所耗费的时间是一样的,原因是什么?

                因为在数组中,我们知道数组首元素的内存地址,而元素的内存地址是连续的,每个元素所占空间大小是相同的,只要知道下标,通过数学表达式计算出要找的元素的内存地址,直接通过内存地址去定位元素

        (2)数组缺点:随机增删元素的效率极低,当一个元素被移出数组或者想添加到数组中,因为数组的长度是不变的,元素内存地址是连续的,所以就涉及到后续元素移动的问题,时间复杂度是O(n),O(n)表示的是线性阶,随着规模问题n的不断增大,时间复杂度是不断增大的,算法的执行效率降低,需要注意的是如果增删的是末尾元素,则对执行效率没有影响

        还一个缺点是无法存储大数据,因为在内存中很难找到一块连续的非常大的内存

                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅清琳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值