Java源码示例:org.roaringbitmap.IntConsumer
示例1
@Test
public void testDense() {
MutableRoaringBitmap bitmap = new MutableRoaringBitmap();
for(int k = 0; k < 100000; k+=3)
bitmap.add(k);
final MutableInteger cardinality = new MutableInteger();
bitmap.forEach(new IntConsumer() {
int expected = 0;
@Override
public void accept(int value) {
cardinality.value++;
assertEquals(value, expected);
expected += 3;
}});
assertEquals(cardinality.value, bitmap.getCardinality());
}
示例2
@Test
public void testSparse() {
MutableRoaringBitmap bitmap = new MutableRoaringBitmap();
for(int k = 0; k < 100000; k+=3000)
bitmap.add(k);
final MutableInteger cardinality = new MutableInteger();
bitmap.forEach(new IntConsumer() {
int expected = 0;
@Override
public void accept(int value) {
cardinality.value++;
assertEquals(value, expected);
expected+=3000;
}});
assertEquals(cardinality.value, bitmap.getCardinality());
}
示例3
/**
* Finds routeIds of matching routes.
* @param tagsMetadata tags to match.
* @return all matching routeIds or empty list.
*/
public Set<String> findRouteIds(TagsMetadata tagsMetadata) {
RoaringBitmap found = find(tagsMetadata);
if (found.isEmpty()) {
return Collections.emptySet();
}
HashSet<String> routeIds = new HashSet<>();
found.forEach((IntConsumer) internalId -> {
String routeId = internalRouteIdToRouteId.get(internalId);
routeIds.add(routeId);
});
return routeIds;
}
示例4
/**
* Finds tuples of routeIds and RSockets of matching routes.
* @param tagsMetadata tags to match.
* @return all matching routeId and RSocket tuples or empty list.
*/
public List<Tuple2<String, RSocket>> findRSockets(TagsMetadata tagsMetadata) {
RoaringBitmap found = find(tagsMetadata);
if (found.isEmpty()) {
return Collections.emptyList();
}
ArrayList<Tuple2<String, RSocket>> rSockets = new ArrayList<>();
found.forEach((IntConsumer) internalId -> {
String routeId = internalRouteIdToRouteId.get(internalId);
RouteEntry routeEntry = routeEntries.get(routeId);
RSocket rSocket = routeEntry.getRSocket();
rSockets.add(Tuples.of(routeId, rSocket));
});
return rSockets;
}
示例5
@Nonnull
private int[] variableIndex() {
final Matrix X = _X;
final IntReservoirSampler sampler = new IntReservoirSampler(_numVars, _rnd.nextLong());
if (X.isSparse()) {
// sample columns from sampled examples
final RoaringBitmap cols = new RoaringBitmap();
final VectorProcedure proc = new VectorProcedure() {
public void apply(final int col) {
cols.add(col);
}
};
final int[] sampleIndex = _sampleIndex;
for (int i = low, end = high; i < end; i++) {
int row = sampleIndex[i];
X.eachColumnIndexInRow(row, proc);
}
cols.forEach(new IntConsumer() {
public void accept(final int k) {
sampler.add(k);
}
});
} else {
final int ncols = X.numColumns();
for (int i = 0; i < ncols; i++) {
sampler.add(i);
}
}
return sampler.getSample();
}
示例6
@Test
public void foreach() {
MappeableContainer ac = newArrayContainer(0, 64);
ac.forEach((char) 0, new IntConsumer() {
int expected = 0;
@Override
public void accept(int value) {
assertEquals(value, expected++);
}
});
}
示例7
@Test
public void foreach() {
LongBuffer buffer = LongBuffer.allocate(MAX_CAPACITY / 64);
buffer.put(~0L);
MappeableContainer bc = new MappeableBitmapContainer(buffer.asReadOnlyBuffer(), 64);
bc.forEach((char) 0, new IntConsumer() {
int expected = 0;
@Override
public void accept(int value) {
assertEquals(value, expected++);
}
});
}
示例8
@Test
public void testContinuous() {
MutableRoaringBitmap bitmap = new MutableRoaringBitmap();
bitmap.add(100L, 10000L);
final MutableInteger cardinality = new MutableInteger();
bitmap.forEach(new IntConsumer() {
int expected = 100;
@Override
public void accept(int value) {
cardinality.value++;
assertEquals(value, expected++);
}});
assertEquals(cardinality.value, bitmap.getCardinality());
}
示例9
@BenchmarkMode(Mode.AverageTime)
@Benchmark
public RoaringBitmap testMap(BenchmarkState benchmarkState) {
final RoaringBitmap answer = new RoaringBitmap();
benchmarkState.bitmap.forEach(new IntConsumer() {
@Override
public void accept(int value) {
answer.add(inttointmap(value));
}
});
return answer;
}
示例10
@BenchmarkMode(Mode.AverageTime)
@Benchmark
public RoaringBitmap testMapViaBitset(BenchmarkState benchmarkState) {
final BitSet altRes = new java.util.BitSet();
benchmarkState.bitmap.forEach(new IntConsumer() {
@Override
public void accept(int value) {
altRes.set(inttointmap(value));
}
});
return BitSetUtil.bitmapOf(altRes);
}
示例11
@Override
public void forEach(IntConsumer ic) {
throw new UnsupportedOperationException("Not implemented in Ewah");
}
示例12
@Override
public void forEach(IntConsumer ic) {
throw new UnsupportedOperationException("Not implemented in ImmutableConciseSet");
}
示例13
@Override
public void forEach(IntConsumer ic) {
throw new UnsupportedOperationException("Not implemented in Ewah32");
}
示例14
@Override
public void forEach(IntConsumer ic) {
bitmap.forEach(ic);
}
示例15
@Override
public void forEach(IntConsumer ic) {
throw new UnsupportedOperationException("Not implemented in ConciseSet");
}
示例16
@Override
public void forEach(IntConsumer ic) {
bitmap.forEach(ic);
}
示例17
void forEach(IntConsumer ic);