public class ArrayList {
//定义初始变量
static int chu = 4;
//创建一个初始数组,不给值节省内存
static int[] array = null;
//定义一个变量用于计算有多少元素
static int total = 0;
public static void main(String[] args) {
//初始化数组
initialize();
//添加数组
add(69);
add(67);
//add(68);
//插入
insert(70,1);
//删除
delete(1,2);
//查找元素
System.out.println(get(2));
traverse();
System.out.println("是否有序 : " + isSorted());
System.out.println("数组大小 : " + getSize());
System.out.println("数组是否为空 : " + isEmpty());
}
public static void initialize(){
//给初始数组一个值,初始化
array = new int[chu];
}
//添加数组内容
public static void add(int num){
array[total]=num;
total++;
}
//遍历数组
public static void traverse(){
for (int j : array) {
System.out.print(j + "\t");
}
System.out.println("\ntotal="+total);
}
//复制数组
public static void copy(int start,int end){
int[] temp = array;
int count = 0;
array = new int[(end-start)*2];
for (int i = start;i<end;i++){
array[count++]=temp[i];
}
//遍历
for (int j : temp) {
System.out.print(j+"\t");
}
}
public static void insert(int value,int location){
for (int i = total;i > location;i--){
array[i]=array[i-1];
}
array[location]=value;
total++;
}
public static void delete(int start,int end){
while(end < total) {
array[start++] = array[end++];
}
total = start;
}
public static int get(int value){
return array[value];
}
//判断数组是否有序
public static boolean isSorted(){
for (int i=0;i<total;i++){
if (array[i]>array[i+1]) return false;
}
return true;
}
//扩容
public static void grow(){
if (total< array.length){
int[] tmp=array;
array=new int[array.length*2];
for (int j : tmp){
array[j]=tmp[j];
}
//回收内存
tmp=null;
}
}
public static int getSize() {
return total;
}
public static boolean isEmpty() {
return total == 0;
}
}
评论 (0)