java数组概述
一.数组
1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object。
2.数组实际上是一个容器,可以同时容纳多个元素(数组是一个数据的集合)字面意思:“一组数据”
3.数组当中可以储存“基本数据类型”的数据,也可以储存“引用数据类型”的数据
4.数组因为是引用类型,所以数组对象是堆内存当中(数组是存储在堆当中的)。
5.数组当中如果存储的是“java对象”的话,实际上存储的是对象的“引用地址”
6.数组一旦创建,在java中规定,长度不可变。(数组长度不可变)
7.数组的分类: 一维数组、二维数组、三维数组、多维数组…(一维数组较多,二维数组偶尔使用)
8.所有的数组对象都有length属性(java自带的),用来获取数组中元素的个数。
9.java中的数组要求数组中元素的类型统一,比如int类型数组只能存储int类型,String类型数组只能存储String类型。
10.数组在内存方面存储的时候,数组中的元素内存地址(存储的每一个元素都是有规则的挨着排列的)是连续的,内存地址连续这是数组内存元素的特点,数组实际上是一种简单的数据结构。
11.所有的数组都是拿“第一个小方框的内存地址”作为整个数组对象的内存地址。(数组中首元素的内存地址作为整个数组对象的内存地址)
12.对于数组来说,实际上只能储存java对象的“内存地址”,数组中存储的每个元素是"引用".
二.数组的优缺点
优点:查询/查找/检索某个下标上的元素时效率极高,可以说时查询效率最高的一个数据结构。
为什么检索高??
1.每一个元素的内存地址在空间存储上是连续的。
2.每一个元素类型相同,所以占用空间大小一样。
3.知道第一个元素内存地址,知道每一个元素占用空间的大小,又知道下标,所以通过一个数学表达式就可以计算出某个下标上元素的内存地址,通过内存地址定位元素,所以数组的检索效率是最高的。(int类型的数据占用4个字节)
缺点:
1.由于为了保证数组中每个元素的内存地址连续,所以在数组上随机删除或者增加元素的时候,效率较低,因为随机增删元素会涉及到后面元素统一向前或者向后位移的操作。
2.数组不能存储大数据量,因为很难在内存空间找到一块特别大的连续的内存空间。
- 点赞
- 收藏
- 关注作者
评论(0)