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 }