@Override public String getString(int id) { assert id < _idToValueMap.size(); return (Long.valueOf(_idToValueMap.getLong(id)).toString()); } }
@Override public long getLong(int id) { assert id < _idToValueMap.size(); return _idToValueMap.get(id); }
@Override public void putMeta(ByteBuffer metaOut, CompressionStrategy strategy) { metaOut.put(CompressionFactory.setEncodingFlag(strategy.getId())); metaOut.put(CompressionFactory.LongEncodingFormat.TABLE.getId()); metaOut.put(CompressionFactory.TABLE_ENCODING_VERSION); metaOut.putInt(table.size()); for (int i = 0; i < valueAddedInOrder.size(); i++) { metaOut.putLong(valueAddedInOrder.getLong(i)); } }
@Override public int put(long value) { int id = _valueToIdMap.get(value); if (id == INVALID_KEY) { id = _idToValueMap.size(); _valueToIdMap.put(value, id); _idToValueMap.add(value); } return id; }
private void writeToMultiFiles(WritableByteChannel channel, FileSmoosher smoosher) throws IOException headerOutLong.size() == numWritten, "numWritten[%s] number of rows doesn't match headerOutLong's size[%s]", numWritten, headerOutLong.size() ); Preconditions.checkState( (((long) headerOutLong.size()) * Long.BYTES) < (Integer.MAX_VALUE & ~PAGE_SIZE), "Wrote[%s] bytes in header, which is too many.", (((long) headerOutLong.size()) * Long.BYTES) );
private static long[] filterLongs(LongSet longSet, long[] source) { LongList longList = new LongArrayList(); for (long value : source) { if (longSet.contains(value)) { longList.add(value); } } if (longList.size() == source.length) { return source; } else { return longList.toLongArray(); } }
@Test(dataProvider = "cascade") public void cascade(long nanos, long timeout, int span) { timerWheel.schedule(new Timer(timeout)); timerWheel.advance(nanos); int count = 0; for (int i = 0; i < span; i++) { for (int j = 0; j < timerWheel.wheel[i].length; j++) { count += getTimers(timerWheel.wheel[i][j]).size(); } } assertThat("\n" + timerWheel.toString(), count, is(1)); }
for (int i = 0; i < tempOut.size(); i++) { delegate.add(tempOut.getLong(i));
private LongList recommendWithPredicate(int n, LongPredicate filter) { LongList items = statistics.getItemsByPopularity(); LongList list = new LongArrayList(items.size()); LongStream str = IntStream.range(0, items.size()).mapToLong(items::getLong); if (filter != null) { str = str.filter(filter); } if (n > 0) { str = str.limit(n); } str.forEachOrdered(list::add); return list; }
/** * Construct a new key index. It maps each long key to its position in the list. * * @param keys The list of keys to store. */ FrozenHashKeyIndex(LongList keys) { keyList = new LongArrayList(keys); indexMap = new Long2IntOpenHashMap(keys.size()); indexMap.defaultReturnValue(-1); LongListIterator iter = keys.listIterator(); while (iter.hasNext()) { int idx = iter.nextIndex(); long key = iter.next(); int old = indexMap.put(key, idx); if (old >= 0) { throw new IllegalArgumentException("key " + key + " appears multiple times"); } } }
@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 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 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 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)); }
/** * Compute the ranks for a list of longs. * @param results The list of longs. * @return The map of ranks; its default return value will be -1. */ public static Long2IntMap itemRanks(LongList results) { Long2IntMap ranks = new Long2IntOpenHashMap(results.size()); ranks.defaultReturnValue(-1); LongListIterator iter = results.listIterator(); while (iter.hasNext()) { int i = iter.nextIndex(); long val = iter.nextLong(); ranks.put(val, i); } return ranks; }
@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 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 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)); }