前言:
基于Java提供的静态数组,自定义实现的动态数组
代码如下:
/**
* @ClassName Array
* @Description 基于java数组进行二次封装
* @Author lilei
* @Date 16/06/2019 11:09
* @Version 1.0
**/
public class Array<E> {
private E[] data;
private int size;
public Array(int capacity){
data = (E[]) new Object[capacity];
size = 0;
}
public Array(){
this(10);
}
public int getCapacity() {
return data.length;
}
public int getSize() {
return size;
}
// 判断是否为空
public boolean isEmpty(){
return size == 0;
}
// 增加一个元素
public void addLast(E e){
if (size == data.length)
resize(2 * data.length);
data[size++] = e;
}
//指定索引增加元素
public void add(int index, E e){
if (index < 0 || index > size){
throw new IllegalArgumentException("Add failed. Require ind