目录
1.新增元素
public class Array {
/**
* 定义数组
*/
private int[] data;
/**
* 数组中的元素个数
*/
private int size;
/**
* 构造函数,传入数组的容量capacity构造Array
* @param capacity
*/
public Array(int capacity){
data = new int[capacity];
}
/**
* 无参构造函数,默认数组容量capacity=10
*/
public Array(){
this(10);
}
/**
* 获取数组中的元素个数
* @return
*/
public int getSize(){
return size;
}
/**
* 获取数组中的容量
* @return
*/
public int getCapacity(){
return data.length;
}
/**
* 返回数组是否为空
* @return
*/
public Boolean isEmpty(){
return size == 0;
}
/**
* 向第index个位置添加一个新元素
* @param index
* @param e
*/
public void add(int index,int e){
// 验证数组是否为当前最大容量
if (size == data.length){
throw new IllegalArgumentException("add fail,array is full");
}
// 验证index取值范围
if (index < 0 || index > size){
throw new IllegalArgumentException("add fail,index Illegal");
}
// 从最后一个元素开始,每个元素向后移动一位
for (int i = size-1; i >= index ; i--) {
data[i+1] = data[i];
}
data[index] = e;
size++;
}
/**
* 向所有元素后添加一个新元素
* @param e
*/
public void addLast(int e){
add(size,e);
}
/**
* 向所有元素前添加一个新元素
* @param e
*/
public void addFirst(int e){
add(0,e);
}
/**
* 重写toString
* @return
*/
@Override
public String toString(){
StringBuffer res = new StringBuffer();
res.append(String.format("Array: size = %d, capacity = %d\n",size,data.length));
res.append('[');
for (int i = 0; i < data.length; i++) {
res.append(data[i]);
if (i != size -1){
res.append(", ");
}
}
res.append(']');
return res.toString();
}
public static void main(String[] args) {
Array array = new Array(11);
for (int i = 1; i <=10; i++) {
array.addLast(i);
}
array.add(1,100);
System.out.println(array);
}
}
2.修改和删除元素
package com.company.Array;
public class Array {
/**
* 定义数组
*/
private int[] data;
/**
* 数组中的元素个数
*/
private int size;