private Object readResolve() throws ObjectStreamException { return new CompactableLongArrayList(storage); } }
/** * Create a new accumulator to accumulate the top <var>n</var> IDs. * * @param n The number of IDs to retain. */ public TopNLong2DoubleAccumulator(int n) { this.targetCount = n; slot = 0; size = 0; int isz = findInitialSize(targetCount + 1); scores = new DoubleArrayList(isz); items = new CompactableLongArrayList(isz); heap = new IntHeapPriorityQueue(this::comparePositions); // item lists are lazy-allocated }
@Test public void testEmptyList() { LongList list = new CompactableLongArrayList(); assertThat(list.size(), equalTo(0)); assertThat(list.isEmpty(), equalTo(true)); }
@Test public void testAddAndPrepend() { LongList list = new CompactableLongArrayList(); long val = 67L; list.add(42); list.add(0, val); assertThat(list.size(), equalTo(2)); assertThat(list, contains(val, 42L)); }
@Test public void testSingletonNegativeLong() { LongList list = new CompactableLongArrayList(); long val = Integer.MIN_VALUE - 42L; list.add(val); assertThat(list.size(), equalTo(1)); assertThat(list.isEmpty(), equalTo(false)); assertThat(list, contains(val)); }
@Test public void testSingleton() { LongList list = new CompactableLongArrayList(); list.add(42L); assertThat(list.size(), equalTo(1)); assertThat(list.isEmpty(), equalTo(false)); assertThat(list, contains(42L)); }
@Test public void testSingletonLong() { LongList list = new CompactableLongArrayList(); long val = Integer.MAX_VALUE + 42L; list.add(val); assertThat(list.size(), equalTo(1)); assertThat(list.isEmpty(), equalTo(false)); assertThat(list, contains(val)); }
@Test public void testAddTwo() { LongList list = new CompactableLongArrayList(); long val = Integer.MAX_VALUE + 42L; list.add(42); list.add(val); assertThat(list.size(), equalTo(2)); assertThat(list, contains(42L, val)); }
@Test public void testAddAndPrependUpgrade() { LongList list = new CompactableLongArrayList(); long val = Integer.MAX_VALUE + 42L; list.add(42); list.add(0, val); assertThat(list.size(), equalTo(2)); assertThat(list, contains(val, 42L)); assertThat(list.get(0), equalTo(val)); assertThat(list.get(1), equalTo(42L)); }
@Test public void testSerializeFull() { CompactableLongArrayList list = new CompactableLongArrayList(); list.add(42); list.add(37); list.add(Integer.MAX_VALUE + 7L); LongList copy = SerializationUtils.clone(list); assertThat(copy, contains(42L, 37L, Integer.MAX_VALUE + 7L)); }
@Test public void testSetUpgrade() { LongList list = new CompactableLongArrayList(); long val = Integer.MAX_VALUE + 42L; list.add(42); list.add(37); list.add(4); assertThat(list.set(1, val), equalTo(37L)); assertThat(list.size(), equalTo(3)); assertThat(list, contains(42L, val, 4L)); }
@Test public void testSetReplace() { LongList list = new CompactableLongArrayList(); long val = 67L; list.add(42); list.add(37); list.add(4); assertThat(list.set(1, val), equalTo(37L)); assertThat(list.size(), equalTo(3)); assertThat(list, contains(42L, val, 4L)); }
@Test public void testTrimCompact() { CompactableLongArrayList list = new CompactableLongArrayList(); list.add(42); list.add(Integer.MAX_VALUE + 37L); list.add(7L); list.set(1, 37L); list.trim(); assertThat(list, hasSize(3)); assertThat(list, contains(42L, 37L, 7L)); } }
@Test public void testSerializeCompact() { CompactableLongArrayList list = new CompactableLongArrayList(); list.add(42); list.add(37); list.add(4); LongList copy = SerializationUtils.clone(list); assertThat(copy, contains(42L, 37L, 4L)); }
private Object readResolve() throws ObjectStreamException { return new CompactableLongArrayList(storage); } }
int isz = findInitialSize(targetCount + 1); scores = new DoubleArrayList(isz); items = new CompactableLongArrayList(isz); heap = new IntHeapPriorityQueue(this::comparePositions);
/** * Create a new accumulator to accumulate the top <var>n</var> IDs. * * @param n The number of IDs to retain. */ public TopNLong2DoubleAccumulator(int n) { this.targetCount = n; slot = 0; size = 0; int isz = findInitialSize(targetCount + 1); scores = new DoubleArrayList(isz); items = new CompactableLongArrayList(isz); heap = new IntHeapPriorityQueue(this::comparePositions); // item lists are lazy-allocated }
int isz = findInitialSize(targetCount + 1); scores = new DoubleArrayList(isz); items = new CompactableLongArrayList(isz); heap = new IntHeapPriorityQueue(this::comparePositions);