Java数组

数组:一组相同数据类型的集合,长度固定,引用类型
类集:动态数组

1.基本概念

1.1动态初始化
声明并初始化数组
数据类型[] 数组名称 = new 数据类型[长度];
声明并开辟长度为3的整型数组
int[] data = new int[3];

I.当开辟数组空间后,所有数组内容为其数据类型默认值
II.访问数组元素使用数组名称[索引下标],索引从0开始。当访问下标超出数组长度时,会抛出运行时异常ArrayIndexOutOfBoundsException
III.数组属性length表示数组长度
数组名称.length返回此数组长度
IV.通过for循环来遍历数组

1.2 数组引用传递
引用数据类型
int a = 10;

int[] data = new int[3];
data称为数组的引用(保存在栈内存),任何一个引用一定指向一块堆内存空间。
只要看见关键字new,就一定在堆上分配空间。

内存分为以下两部分:

栈内存:方法中的局部变量

堆内存:存放数组内容、类对象内容(共享内存)
int[] data = new int[3];

引用传递:多个栈内存共享一块堆内存地址(多个遥控器控制一个空调)

1.3数组静态初始化
在声明数组同时将数组内容赋值。
数组长度依然固定,长度为给的值的个数。

完整格式:推荐使用
数据类型[] 数组名称 = new 数据类型[]{值1,值2,值3…};

简化格式:
数据类型[] 数组名称 = {值1,值2,值3…};

匿名数组:没有任何栈内存指向的数组空间(没起名字)

2.二维数组(表格)
int[][] data = new int[][]{{1,3,5},{2,4,6,8,10},{7,9}};
// 遍历
for(int x = 0;x < data.length;x++) {
for(int y = 0;y < data[x].length;y++) {
System.out.print(data[x][y]+"、");
}
}

3.数组与方法的相互操作-引用传递

3.1 方法接收数组

3.2 方法返回数组

3.3 方法修改数组

4.Java对数组支持

4.1数组排序
java.util.Arrays.sort(数组名称):支持所有基本数据类型,默认为升序排序
,内部使用双轴快速排序。

4.2数组拷贝

数组部分拷贝-移花接木:将一个数组的部分内容替换为另一个数组的部分内容(必须是连续的)
System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度);

4.3数组全拷贝
类集动态扩容使用的就是此方法!
java.util.Arrays.copyOf(源数组名称,新数组长度) : int[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值