package btools.util; /** * dynamic list of primitive longs * * @author ab */ public class LongList { private long[] a; private int size; public LongList(int capacity) { a = capacity < 4 ? new long[4] : new long[capacity]; } public void add(long value) { if (size == a.length) { long[] aa = new long[2 * size]; System.arraycopy(a, 0, aa, 0, size); a = aa; } a[size++] = value; } public long get(int idx) { if (idx >= size) { throw new IndexOutOfBoundsException("list size=" + size + " idx=" + idx); } return a[idx]; } public int size() { return size; } }