仿照ArrayList类写增删改查方法

 1 package list;
 2 
 3 public class MyList {
 4     private int size=0;
 5     private Object[] items;
 6     public MyList(){
 7         items=new Object[10];
 8     }
 9     
10     /**
11      * 
12      * @param index 所插入位置的索引
13      * @param element 要插入的元素
14      */
15 public boolean add(int index,Object element){
16     if(index<0||index>size){
17         return false;
18     }
19     if(items.length==size){
20         Object[] tem=new Object[items.length];
21         tem=items;
22         items=new Object[items.length+10];
23         items=tem;
24     }
25     System.arraycopy(items, index, items, index+1, items.length-size);
26     size++;
27     return true;
28 }
29 
30 public boolean add(Object element){
31     if(items.length==size){
32         Object[] tem=new Object[items.length];
33         tem=items;
34         items=new Object[items.length+10];
35         System.arraycopy(tem, 0, items, 0, size);//不用能items=tem,这相当与把tem的大小一起赋值给了item
36         
37     }
38     
39     items[size++]=element;
40     
41     return true;
42     }
43 /**
44  * 
45  * @param index 删除的结点
46  * @return 返回结点的值
47  */
48 public Object remove(int index){
49     if(index<0||index>size){
50         System.out.println("重新选择结点!");
51     }
52     Object o=items[index];
53     System.arraycopy(items, index+1,items , index, size-index-1);
54     size--;
55     return o;
56 }
57 /**
58  * 
59  * @param index 要更改元素的结点
60  * @param element 传入替换的原书
61  * @return
62  */
63 public Object set(int index,Object element){
64     if( index < 0 || index >= size){
65         System.out.println("重新选择结点!");
66     }
67     items[index]=element;
68     return items[index];
69 }
70 /**
71  * 
72  * @param index 返回元素的结点
73  * @return
74  */
75 public Object get(int index){
76     if( index < 0 || index >= size){
77         System.out.println("重新选择结点!");
78     }
79     return items[index];
80 }
81 public static void main(String[] args){
82     MyList list=new MyList();
83     for(int i=0;i<15;i++){
84         list.add(" "+i);
85         //System.out.print(list.get(i));
86     }
87     //list.remove(8);
88     //for(int i=0;i<list.size;i++){
89         
90         //System.out.print(list.get(i));
91     //}
92     list.set(8, " leee");
93     for(int i=0;i<list.size;i++){
94     
95     System.out.print(list.get(i));
96 }
97     }
98 }

 

posted on 2012-07-10 22:23  柠檬汽水  阅读(408)  评论(0)    收藏  举报

导航