【数据结构学习2--二维数组,可变参数和稀疏矩阵】

#二维数组的定义

#N维数组定义
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、二维数组的定义?

二维数组的本质就是一维数组。
一维数组的每一个元素,存着一个一维数组。
(就是一个1维数组只不过1维数组中每个位置上的元素又是一个新的数组)
由此拓展N维数组:一个一维数组,存着N-维数组。

在这里插入图片描述

二、二维数组的创建

1.静态创建

	1,int[][] arrs={{1,2},{3,2}};
	2,int[][] arrs=new int[][]{{1,2},{3,2}};

2.动态创建

1,int[][] arrs= new int[2][3];
2是行,3是列。
2,int[][ ] arrs = new int[2][];
创建了一个长度是1的一维数组每个位置上的元素也是一个数组对象

三、二维数组的方法

arrs.length得到行数
arrs[i].length第i行的列数

四、二维数组的循环迭代

太简单直接放截图
在这里插入图片描述

五、可变参数的使用

1,应用场景
在一些重载的结构中使用。
在这里插入图片描述
在这里插入图片描述
2,可变参数使用的注意事项
1.可变参数定义在末尾
2…只能有且仅有一个可变参数(因为原因1)

六、零碎知识点

一、重载的最寻顺序(多个重载,应该使用那个)
1.第一匹配顺序:完全匹配
byte ->short -> int ->iong -> float ->double
char->int
2,第二匹配顺序:最近最优原则
3,第三匹配顺序:包装类
4,第四匹配顺序:可变参数
二、调用顺序
1,编译看左边,运行看右边
在这里插入图片描述
在编译过程中,f.fun,f通过F类包装,把后面的10转变为可变参数即int[]{10}。然后运行时通过S类重写的fun方法运行。
s.fun在编译时用S类方法编译,10不是数组,所以报错。
2,避免程序二义性
在这里插入图片描述
3,nul1值转换为引用类型时需要注意:最近最优(继承关系
在这里插入图片描述
4,稀疏矩阵
在这里插入图片描述
1,稀疏矩阵特点:
三列,第一行存储原数组有几行,几列,几个不为零的点。
第N行表示第n个不为0的点的行数,列数和值。
2,应用范围:
原数组行数列数较多,但有效填充很少时使用。能节省内存空间。

总结

就是这么简单的知识,大家加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值