1.定义一个接口MyList
public interface MyList {
//增
void add(int num);
//删
boolean delete(int index2);
//改
boolean update(int index2, int num);
//获得值
int get(int index2);
//获得长度
int getLen();
}
2.写一个类实现MyList接口,基于数组实现集合。
public class MyList4Array implements MyList {
int[] arr;
int index;
public MyList4Array(){
arr = new int[10];
index = 0;
}
//增
public void add(int num){
if(index==arr.length){
//数组扩容
arr = Arrays.copyOf(arr, arr.length*2);
}
arr[index] = num;
index++;
}
//删
public boolean delete(int index2){
if(index2<0 || index2>=this.index){
return false;
}
for(int i=index2+1;i=0 && index2=0 && index2
3.写一个类实现MyList接口,基于链表实现集合。
public class MyList4Link implements MyList{
public class Node{
public int num;
public Node next;
}
Node start;
Node index;
int count;
public MyList4Link(){
start = new Node();
index = start;
count =0;
}
//增
public void add(int num) {
Node newNode = new Node();
newNode.num = num;
index.next = newNode;
index = newNode;
count++;
}
//删
public boolean delete(int index2) {
if(index2>=0 && index2=0 && index2
4.测试类
public class MyListTest {
public static void main(String[] args) {
System.out.println("数组");
MyList mylist = new MyList4Array();
for(int i=0;i<10;i++){
mylist.add(i);
}
System.out.println(mylist);
System.out.println(mylist.getLen());
mylist.add(11);
System.out.println(mylist);
mylist.delete(0);
System.out.println(mylist);
mylist.update(9, 99);
System.out.println(mylist);
System.out.println(mylist.get(0));
System.out.println("*********");
System.out.println("链表");
MyList list = new MyList4Link();
for(int i=0;i<10;i++){
list.add(i);
}
System.out.println(list);
list.delete(2);
list.update(3,11);
System.out.println(list.get(2));
System.out.println(list);
}
}