有关数组的学习总结

当我们需处理的数据较少时,用少数几个变量描述即可;但当需要处理大批数据时,且数据间存在某种逻辑上的联系时,可以采用数组。
使用数组的优点显而易见,其存储方便,查找速度快,仅需输入 数组名[下标] 即可查找到所寻数据。然而由于数组对象在创建时便已确定长度(Java与C++不同,没有动态数组),故数组长度固定,存储的数据类型也是固定的,因此,可以通过数组队列来弥补此缺憾(将在后文中描述)。
数组是引用类型,因其存储的是地址而非数值,数组只有唯一的一个长度属性length
定义一维数组方式有以下几种
数据类型 [] 数组名 = new 数据类型[length];

数据类型[] 数组名;
数组名=new 数据类型[length];

数据类型[] 数组名;
数组名=new 数据类型[]{值,…};


二维数组,类似矩阵,定义方法类似一维,但注意赋初值的方式需加注意:
数组名=new 数据类型[]{{值,…},….};

获取二维数组的总行数:array.length;
获取二维数组的总列数:array[row].length;
获取某一个元素:array[行下标][列下标]

当我们要改变数组的长度时(即需要使用数组队列时),借助于数组对象名中存储的地址,每一次创建一个新的数组,是原始数组的长度加1或者长度减1.而原始数组中存储的数据,存入到新数组中,然后再去添加新的元素或者不需要添加。
但是注意,必须要有原始数组,通过新建数组来拓宽原始数组的长度
具体步骤为,1.定义一个接口,在 接口中定义抽象方法。
public interface MyArrayList<E> {
方法名
}


[Java的泛型 表示符号是E 可以表示Java中的任意一种数据类型。]

2.定义一个类,实现接口,重写接口中的抽象方法。 3.在类中定义一个原始数组和数组的元素总数属性。 4.实现添加元素的方法

向队列的末尾添加元素的具体代码为:
public void add(E e) {
// 实例化一个新数组,长度是size+1
Object[] newarray = new Object[size + 1];
// 将array数组的内容添加到newarray数组中
for (int i = 0; i < size; i++) {
newarray[i] = array[i];
}
// 将新元素添加到newarray数组的最后一个位置
newarray[size] = e;
// size要加1
size++;
// 将newarray数组名中存储的地址赋给array
array = newarray;
}
数组队列即是实现一个这样的过程,当希望往数组里添加或减少一个数据时,可以做到相应改变数组的长度,避免造成空间不足或空间浪费的现象

数组队列的此项特征可用于简单画板的重绘,用数组存储绘制的图形,使得最小化/最大化/改变框大小后所绘图形不消失。在画板监听器处定义一个数组队列,
public static MyArrayList<Shape> list = new MyArrayList<Shape>();
再通过编写MyArrayList类实现数组队列即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值