在我的认知里,顺序表就相当于数组一样的连续元素的存储载体,其实就是数组arr吧,使用顺序表我们需要知道这个顺序表的有效个数多少个,下面我们称为int useSize
本质就是创造一个类,然后形成顺序表这一个对象?
1.下面就放了顺序表的使用
import java.util.Arrays; public class MyOwnArrayList {//顺序表 public int [] arr; public int usedSize;//默认0,当前有效数据个数, 问: 怎么确定usedSize的值? public MyOwnArrayList(){//进入这个类 this.arr=new int[10]; } public int size(){//获取有效数据个数 return this.usedSize; } public void display(){//输出顺序表 for(int i=0;i<this.usedSize;i++){ System.out.print(arr[i]+" "); } System.out.println(); } public boolean ifFull(){ if(this.usedSize==this.arr.length) return true; else return false; } public void add(int position,int data){//增加元素 if (ifFull()==true) { this.arr=Arrays.copyOf(this.arr,this.arr.length+1); } for(int i=this.usedSize-1;i>=position;i--){ this.arr[i+1]=this.arr[i]; } this.arr[position] = data; this.usedSize++; System.out.println(); } public void change(int position,int data){ if(position<0||position>this.usedSize){ System.out.println("位置不合法"); } else this.arr[position]=data; } public void decline(int data){//删除某一项 for(int i=0;i<usedSize-1;i++) { if(arr[i]==data){ arr[i]=arr[i+1];//往后挪 usedSize--;//将后面的项代替前面的项 } } }
public class TextMyOwnArrayList { public static void main(String[] args) { MyOwnArrayList List1 =new MyOwnArrayList(); List1.arr= new int[]{1, 2, 3, 5,6}; //List1.display();//调用display MyOwnArrayList List2=new MyOwnArrayList(); List2.add(0,1); List2.add(1,2); List2.add(3,0); List2.add(4,2); List2.add(5,1); List2.display(); //List2.change(1,15); List2.display(); List2.decline(2); List2.display(); }