基于Java数组,二次封装属于我们自己的数组
1、数组索引是否有语义
数组索引是否存在语义是根据具体业务场景来的,比如可以使用索引表示学生的学号
2、数组那些事
(1)数组最大的优点
数组最大的优点:快速查询。scores[2];
数组最好应用于“索引有语义”的情况;
(2)数组索引无语义场景
但并非所有有语义的索引都适合于数组。
比如:身份证号:450301198005156913
因为身份证号如果用索引来表示的话,需要数组开辟很大的空间,这样就会白白浪费空间,所以有些场景不太适合数组索引具有语义。
(3)数组存在的问题
索引没有语义,如何表示没有元素?
如何添加元素?
如何删除元素?
数组如何动态扩容?
3、基于Java数组,二次封装自己的数组
新增一个Array类:
public class Array {
// 定义数组变量,data.length表示数组容量capacity
private int[] data;
// 定义数组中存放数据大小
private int size;
// 有参构造方法,传入数组的容量capacity构造动态数组
public Array(int capacity) {
data = new int[capacity];
size = 0;
}
// 无参构造方法,默认初始容量为capacity=10
public Array(){
this(10);
}
// 获取数组中元素个数
public int getSize(){
return size;
}
// 获取数组的容量
public int getCapacity(){
return data.length;
}
// 判断数组是否为空
public boolean isEmpty(){
return size == 0;
}
}
如果感兴趣的童鞋,可以观看我下一篇博客:向数组中添加元素