Linear list dalam representasi array

Abstract data type untuk linear list dapat dipolakan dengan menggunakan interface. Sebuah interface pada java terdiri dari konstanta atau abstract method (method yang hanya berupa deklarasi, tanpa implementasi method). Interface untuk linear list sebagai berikut :
public interface LinearList
{
public boolean isEmpty();
public int size();
public Object get(int index);
public int indexOf(Object element);
public Object remove(int index);
public void add(int index, Object element);
public String toString();
}

Linear list dapat diterapkan pada array, berikut implementasi interface linear list dengan memanfaatkan komponen array:

public class ArrayLinearList implements LinearList
{
protected Object [] element; //objek dalam arrayLL
protected int size; //ukuran dari arrayLL

//constructor
public ArrayLinearList(int initialCapacity)
{
if(initialCapacity = 1");
element = new Object[initialCapacity];
}

public ArrayLinearList()
{
this(10);
}

public boolean isEmpty() {
return size == 0;
}

public int size() {
return size;
}

public void checkIndex(int index)
{
if(index = size)
throw new IndexOutOfBoundsException(index+" tidak valid");
}

public Object get(int index) {
checkIndex(index);
return element[index];
}

public int indexOf(Object theElement) {
for(int i =0; i<size; i++)
{
if (element[i].equals(theElement))
return i;
}
return -1;
}

public Object remove(int index) {
checkIndex(index);

Object removedObject = element[index];
for (int i = index + 1; i<size; i++)
element[i-1]= element[i];

element[--size]=null;
return removedObject;
}

public void add(int index, Object theElement)
{
if (index size)
throw new IndexOutOfBoundsException
(index+"index invalid");

if(size == element.length)
{
element = ChangeArrayLength.changeLength1D(element, 2 * size);
}

for(int i = size-1; i>= index; i--)
{
element[i+1] = element[i];
}

element[index]=theElement;
size++;
}

public String toString()
{
StringBuffer s = new StringBuffer("[");

// memasukkan element kedalam buffer
for (int i = 0; i 0)
s.delete(s.length() - 2, s.length()); // remove last ", "

s.append("]");

// create string
return new String(s);
}

}