基于Java数组,二次封装属于我们自己的数组

基于Java数组,二次封装属于我们自己的数组

1、数组索引是否有语义

数组索引是否存在语义是根据具体业务场景来的,比如可以使用索引表示学生的学号

基于Java数组,二次封装属于我们自己的数组

 

2、数组那些事

(1)数组最大的优点

数组最大的优点:快速查询。scores[2];

数组最好应用于“索引有语义”的情况;

 

(2)数组索引无语义场景

但并非所有有语义的索引都适合于数组。

比如:身份证号:450301198005156913

因为身份证号如果用索引来表示的话,需要数组开辟很大的空间,这样就会白白浪费空间,所以有些场景不太适合数组索引具有语义。

 

(3)数组存在的问题

基于Java数组,二次封装属于我们自己的数组

       索引没有语义,如何表示没有元素?

 

       如何添加元素?

 

       如何删除元素?

 

       数组如何动态扩容?

 

3、基于Java数组,二次封装自己的数组

基于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;
   
}
}

 

如果感兴趣的童鞋,可以观看我下一篇博客:敬请期待