/**
* @author MUHAMMAD AZRI BIN JASNI @ ABDUL RANI
* @version 27 SEPTEMBER 2012
*/
public class ArrayList
{
// instance variables
public int length;
public int maxSize;// maxSize default at 100
public Object [] list;
/**
* Constructor for objects of class ArrayList
*/
public ArrayList(){
this.length = 0;
maxSize=100;
list = new Object[maxSize];
for (int i=0;i<maxSize;i++)
list[i] = new Object();
}
public ArrayList(int size)
{
this.length = 0;
maxSize=size;
list= new Object[maxSize];
for (int i=0;i<maxSize;i++)
list[i] = new Object();
}
/**methods**/
public boolean isEmpty()
{
return (length==0);
}
public boolean isFull()
{
return (length==maxSize);
}
public void insertAtFront(Object a)
{
if (isFull())
{
System.err.println("Can't insert in full list.");
}
else
{
if (! isEmpty())
{
for(int i = length; i > 0; i--)
list[i] = list[i - 1];
}
//if (isEmpty())
// list = new Object[1];
list [0] = a;
length++;
}
}//end insertAtFront
public void insertAtBack(Object a)
{
if (isFull())
{
System.err.println("Can't insert in full list.");
}
else
{
list [length] = a;
length++;
}
}//end insertAtBack
public void insertAt(Object a, int index)//replace element[index] with item
{
if (isFull())
System.err.println("Can't insert in full list.");
else
list[index]=a;
}
public void removeFromFront()
{
if (isEmpty())
{
System.err.println("Can't remove in empty list.");
}
else
{
for(int i = 0; i <length; i++)
list[i] = list[i+1];
length--;
}
}
public void removeFromBack()
{
if (isEmpty())
{
System.err.println("Can't remove in empty list.");
}
else
{
list[length] = null;
length--;
}
}
public void display()
{
for(int i = 0; i <length; i++)
{
System.out.print(list[i]+" ");
}
System.out.println("");
}
}