import java.io.Serializable; import java.lang.reflect.Array; import java.util.AbstractList; import java.util.RandomAccess; public class PrimitiveList extends AbstractList implements RandomAccess, Serializable { private static final long serialVersionUID = 165651237L; private Object array = null; private void init(Object array) { if (array==null) throw new NullPointerException(); this.array = array; } public PrimitiveList(boolean[] array) { init(array); } public PrimitiveList(byte[] array) { init(array); } public PrimitiveList(short[] array) { init(array); } public PrimitiveList(char[] array) { init(array); } public PrimitiveList(int[] array) { init(array); } public PrimitiveList(long[] array) { init(array); } public PrimitiveList(float[] array) { init(array); } public PrimitiveList(double[] array) { init(array); } public int size() { return Array.getLength(array); } public Object get(int index) { return Array.get(array, index); } public Object set(int index, Object value) { Object oldValue = Array.get(array, index); Array.set(array, index, value); return oldValue; } public int indexOf(Object o) { if (o == null) { throw new NullPointerException(); } int len = Array.getLength(array); for (int i=0; i