ArrayList中的size问题
以下是我自己写ArrayList的代码,没有给其中的变量size赋值,但是结果输出的size确实对的,我觉得应该添加我在下面注释的代码才应该对呀public class SxAarryList {
private Object[] elementData;
private int size;
public int size(){
return size;
}
public boolean isEmpty(){
return size==0;
}
public SxAarryList(){
this(10);
}
public SxAarryList(int initicalCapacity){
if(initicalCapacity<0){
try {
throw new Exception();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//size=initicalCapacity 是这个地方应该加这句代码呀,为什么不加也是对的
elementData=new Object[initicalCapacity];
}
public void add(Object obj)
{
if(size==elementData.length){
Object[] newArray=new Object[size* 2+1];
System.arraycopy(elementData, 0, newArray, 0, elementData.length);
//for(int i=0;i<elementData.length;i++){
//newArray[i]=elementData[i];
//}
elementData=newArray;
}
elementData[size]=obj;
size++;
}
public Object get(int index){
if(index<0||index>=size){
try {
throw new Exception();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return elementData[index];
}
public void remove(int index){
}
public static void main(String[] args) {
SxAarryList list =new SxAarryList(3);
list.add("666");
list.add("bbb");
list.add("fff");
list.add("fff");
list.add("fff");
list.add("fff");
list.add("fff");
System.out.println(list.size());
System.out.println(list.get(3));
}
}