Skip to content

Commit d030831

Browse files
committed
commit
1 parent 9434052 commit d030831

File tree

1 file changed

+42
-3
lines changed

1 file changed

+42
-3
lines changed
Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,71 @@
11
package com.coding.basic;
22

3+
import java.util.Arrays;
4+
35
public class ArrayList implements List {
46

57
private int size = 0;
68

79
private Object[] elementData = new Object[100];
810

11+
private int stepLength = 50;
12+
913
public void add(Object o){
14+
if(size > elementData.length)
15+
{
16+
Object[] elementDataNew = new Object[elementData.length + stepLength];
17+
System.arraycopy(elementData, 0, elementDataNew, 0, elementData.length);
18+
elementData = elementDataNew;
19+
}
20+
21+
elementData[size] = o;
22+
size++;
1023

1124
}
1225
public void add(int index, Object o){
26+
if(size > elementData.length)
27+
{
28+
Object[] elementDataNew = new Object[elementData.length + stepLength];
29+
System.arraycopy(elementData, 0, elementDataNew, 0, elementData.length);
30+
elementData = elementDataNew;
31+
}
32+
System.arraycopy(elementData, index, elementData, index+1, size-index+1);
33+
elementData[index] = o;
34+
size++;
1335

1436
}
1537

1638
public Object get(int index){
17-
return null;
39+
return elementData[index];
1840
}
1941

2042
public Object remove(int index){
21-
return null;
43+
Object obj = elementData[index];
44+
System.arraycopy(elementData, index+1, elementData, index, size-index-1);
45+
size--;
46+
return obj;
2247
}
2348

2449
public int size(){
25-
return -1;
50+
return size;
2651
}
2752

2853
public Iterator iterator(){
2954
return null;
3055
}
3156

57+
public String toString()
58+
{
59+
StringBuffer sb = new StringBuffer();
60+
for(int i=0;i<size;i++)
61+
{
62+
if(i!=0)
63+
{
64+
sb.append(",");
65+
}
66+
sb.append(elementData[i]);
67+
}
68+
return sb.toString();
69+
70+
}
3271
}

0 commit comments

Comments
 (0)