package com.coding.basic; public class ArrayList implements List { private int size = 0; private Object[] obj = new Object[5]; @Override public void add(Object o) { if(this.size < 0 ) System.out.print("Error"); this.extend(100); obj[this.size] = o; this.size ++; } @Override public void add(int index, Object o) { if(index < 0) System.out.println("Error"); if(index < this.size){ extend(100); for(int i = this.size;i < index; i--){ obj[i+1] = obj[i]; } obj[index] = o; }else if(index >= size){ extend(100); obj[size] = o; } this.size++; } @Override public Object get(int index) { if(index < 0 || index > size){ System.out.println("Error"); return null; } return obj[index]; } @Override public Object remove(int index) { if(index < 0 || index > size){ System.out.println("Error"); return null; } for(int i = index;i <= size;i++){ obj[i] = obj[i+1]; } size--; return obj[index]; } @Override public int size() { return size; } public int length(){ return obj.length; } public void extend(int newLength){ if (this.size >= obj.length){ //��չ���� Object[] old = obj; obj = new Object[size+newLength]; for(int i = 0;i < size; i++){ obj[i] = old[i]; } } return; } public void Iteror(){ for(int i = 0 ;i < size ; i++){ System.out.println(obj[i]); } } }