番外 数组的认识

数组

静态定义:程序员定义值,系统决定长度
动态定义:程序员定义长度,系统决定值

一维数组的声明

  • 数据类型 [] 数组名 = new 数组类型[数组长度];
  • 数据类型 [] 数组名 = new 数组类型[]{元素,元素,元素。。。};
  • 数据类型 [] 数组名 = {元素,元素,元素。。。};

二维数组的声明

在这里插入图片描述
增强for循环
在这里插入图片描述
foreach:用于读取数组元素的值,增强for循环事jdk1.5之后的新功能,用于读取数组或者集合中的所有元素

  • 数组是一种引用数据类型
    数组引用变量只是一个引用
    数组元素和数组变量在内存里是分开存放的

  • 数组的优点:
    插入快,能够让我们在o(1)的时间内根据数组的下标查询某个元素

  • 缺点:查找慢,删除慢,大小固定
    当我们需要查询某个元素是否存在的时候需要遍历整个数组 消耗o(n)的时间,删除和添加也是

数组是顺序表
(顺序表)数组有链表的区别:
(1)存储空间的区别,数组是静态分配内存空间,所有元素是存放在一组地址连续的存储单元中,一旦分配,不可更改,不便于拓展,数据元素在数组中的顺序号可确定它在存储单元中的位置,因此顺序表中不需要指针域,而链表是动态分配内存空间的,存储空间也不确定的。
(2)数组便于查找和修改(下表定位),但不利于插入和删除(数据移动量过大),也不便于扩充(连续的地址,静态存储结构)。而链表不便于查找和修改(从链头到链尾数据量过大),但便于插入和删除并且速度快(锻链即可)

array

Arrays类包含了:排序、查找、填充、打印内容等常见的操作。
此处的Arrays.toString()方法是Arrays类的静态方法,不是前面讲的Object的toString()方法。
 Arrays.sort(a);  数组的排序;
 Arrays.fill(a, 2, 4, 100);  //将2到4索引的元素替换为100;
 Arrays.toString(a); 二分法查找数组的索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值