可以增删改查数组的Java类

来源:互联网 发布:vb编写计算器程序 编辑:程序博客网 时间:2024/04/29 15:59
public class DynamicArray {public int[] array=new int[10];public int count=0;public void add(int obj){count++;if(count>array.length){int[] newArray=new int[array.length+10];for(int i=0;i<array.length;i++){newArray[i]=array[i];}newArray[array.length]=obj;array=newArray;}else{array[count-1]=obj;}}public void delete(int j){count--;int[] newArray= new int[array.length-1];for(int i=0;i<array.length-1;i++){int t=i;if(i>=j-1){t=i+1;}newArray[i]=array[t];}array=newArray;}public void updata(int m,int s){array[m-1]=s;}public void Traversal(){for(int i=0;i<count;i++){System.out.println(array[i]);}}public int get(int j){return array[j-1];}public static void main(String[] args) {DynamicArray dy=new DynamicArray();for(int i=0;i<11;i++){dy.add(i);}dy.Traversal();System.out.println(dy.get(4));dy.updata(2,8);dy.delete(1);dy.Traversal();}}


运行结果:

0
1
2
3
4
5
6
7
8
9
10
3
8
2
3
4
5
6
7
8
9
10

改进:去掉else

public class DynamicArray {public int[] array=new int[10];public int count=0;public void add(int obj){count++;if(count>array.length){int[] newArray=new int[array.length+10];for(int i=0;i<array.length;i++){newArray[i]=array[i];}array=newArray;}array[count-1]=obj;}public void delete(int j){count--;int[] newArray= new int[array.length-1];for(int i=0;i<array.length-1;i++){int t=i;if(i>=j-1){t=i+1;}newArray[i]=array[t];}array=newArray;}public void updata(int m,int s){array[m-1]=s;}public void Traversal(){for(int i=0;i<count;i++){System.out.println(array[i]);}}public int get(int j){return array[j-1];}public static void main(String[] args) {DynamicArray dy=new DynamicArray();for(int i=0;i<11;i++){dy.add(i);}dy.Traversal();System.out.println(dy.get(4));dy.updata(2,8);dy.delete(1);dy.Traversal();}}


 

0 0