brouter/brouter-util/src/main/java/btools/util/LongList.java
2022-07-25 06:14:46 +02:00

36 lines
640 B
Java

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;
}
}