当前位置: 首页>>代码示例>>Java>>正文


Java IntIterator.hasNext方法代码示例

本文整理汇总了Java中org.roaringbitmap.IntIterator.hasNext方法的典型用法代码示例。如果您正苦于以下问题:Java IntIterator.hasNext方法的具体用法?Java IntIterator.hasNext怎么用?Java IntIterator.hasNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.roaringbitmap.IntIterator的用法示例。


在下文中一共展示了IntIterator.hasNext方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: descendingIntIterator

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public MiruIntIterator descendingIntIterator(ImmutableRoaringBitmap bitmap) {
    final IntIterator intIterator = bitmap.getReverseIntIterator();
    return new MiruIntIterator() {

        @Override
        public boolean hasNext() {
            return intIterator.hasNext();
        }

        @Override
        public int next() {
            return intIterator.next();
        }
    };
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:17,代码来源:MiruBitmapsRoaringBuffer.java

示例2: descendingIntIterator

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public MiruIntIterator descendingIntIterator(RoaringBitmap bitmap) {
    final IntIterator intIterator = bitmap.getReverseIntIterator();
    return new MiruIntIterator() {

        @Override
        public boolean hasNext() {
            return intIterator.hasNext();
        }

        @Override
        public int next() {
            return intIterator.next();
        }
    };
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:17,代码来源:MiruBitmapsRoaring.java

示例3: storeAndGetAuthz

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Test(dataProvider = "miruAuthzIndexDataProviderWithData")
public void storeAndGetAuthz(MiruAuthzIndex<RoaringBitmap, RoaringBitmap> miruAuthzIndex,
    MiruAuthzUtils miruAuthzUtils,
    Map<String, List<Integer>> bitsIn) throws Exception {

    StackBuffer stackBuffer = new StackBuffer();
    for (Map.Entry<String, List<Integer>> entry : bitsIn.entrySet()) {
        String authz = entry.getKey();
        MiruAuthzExpression miruAuthzExpression = new MiruAuthzExpression(ImmutableList.of(authz));

        RoaringBitmap bitsOut = miruAuthzIndex.getCompositeAuthz(miruAuthzExpression, stackBuffer);
        List<Integer> actual = Lists.newArrayList();
        IntIterator iter = bitsOut.getIntIterator();
        while (iter.hasNext()) {
            actual.add(iter.next());
        }

        assertEquals(actual, entry.getValue());
    }
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:21,代码来源:MiruAuthzIndexTest.java

示例4: multiTxIndex

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public void multiTxIndex(String name,
    int fieldId,
    MiruTermId[] termIds,
    int considerIfLastIdGreaterThanN,
    StackBuffer stackBuffer,
    MultiIndexTx<RoaringBitmap> indexTx) throws Exception {
    NavigableMap<MiruTermId, RoaringBitmap> terms = indexes[fieldId];
    for (int i = 0; i < termIds.length; i++) {
        MiruTermId termId = termIds[i];
        if (termId != null) {
            RoaringBitmap bitmap = terms.get(termId);
            if (bitmap != null) {
                IntIterator reverse = bitmap.getReverseIntIterator();
                int lastId = reverse.hasNext() ? reverse.next() : -1;
                indexTx.tx(i, lastId, bitmap, null, -1, stackBuffer);
            }
        }
    }
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:21,代码来源:LuceneBackedQueryParserTest.java

示例5: applyAnd

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public MutableRoaringBitmap applyAnd(MutableRoaringBitmap answer) {

  MutableRoaringBitmap result = new MutableRoaringBitmap();
  if (evaluator.isAlwaysFalse()) {
    return result;
  }
  IntIterator intIterator = answer.getIntIterator();
  int docId = -1, length;
  while (intIterator.hasNext() && docId < endDocId) {
    docId = intIterator.next();
    if (docId >= startDocId) {
      valueIterator.skipTo(docId);
      _numEntriesScanned++;
      length = valueIterator.nextIntVal(intArray);
      if (evaluator.applyMV(intArray, length)) {
        result.add(docId);
      }
    }
  }
  return result;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:23,代码来源:MVScanDocIdIterator.java

示例6: applyAnd

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public MutableRoaringBitmap applyAnd(MutableRoaringBitmap answer) {
  MutableRoaringBitmap result = new MutableRoaringBitmap();
  if (_evaluator.isAlwaysFalse()) {
    return result;
  }
  IntIterator intIterator = answer.getIntIterator();
  int docId = -1;
  while (intIterator.hasNext() && docId < _endDocId) {
    docId = intIterator.next();
    if (docId >= _startDocId) {
      _valueIterator.skipTo(docId);
      _numEntriesScanned++;
      if (_valueMatcher.doesCurrentEntryMatch(_valueIterator)) {
        result.add(docId);
      }
    }
  }
  return result;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:21,代码来源:SVScanDocIdIterator.java

示例7: toString

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
/**
 * A string describing the bitmap.
 *
 * @return the string
 */
@Override
public String toString() {
  final StringBuilder answer = new StringBuilder();
  final IntIterator i = this.getIntIterator();
  answer.append("{");
  if (i.hasNext()) {
    answer.append(i.next() & 0xFFFFFFFFL);
  }
  while (i.hasNext()) {
    answer.append(",");
    // to avoid using too much memory, we limit the size
    if(answer.length() > 0x80000) {
      answer.append("...");
      break;
    }
    answer.append(i.next() & 0xFFFFFFFFL);
  }
  answer.append("}");
  return answer.toString();
}
 
开发者ID:RoaringBitmap,项目名称:RoaringBitmap,代码行数:26,代码来源:ImmutableRoaringBitmap.java

示例8: testRunOpti

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Test
public void testRunOpti() {
  MutableRoaringBitmap mrb = new MutableRoaringBitmap();
  for(int r = 0; r< 100000; r+=3 ) {
    mrb.add(r);
  }
  mrb.add(1000000);
  for(int r = 2000000; r < 3000000; ++r) {
    mrb.add(r);
  }
  MutableRoaringBitmap m2 = mrb.clone();
  m2.runOptimize();
  IntIterator x = m2.getReverseIntIterator();
  int count = 0;
  while(x.hasNext()) {
    x.next();
    count++;
  }
  Assert.assertTrue(m2.getCardinality() == count);
  Assert.assertTrue(mrb.getCardinality() == count);
  Assert.assertTrue(m2.serializedSizeInBytes() < mrb.serializedSizeInBytes());
  Assert.assertEquals(m2, mrb);
  Assert.assertEquals(toMapped(m2), mrb);
  Assert.assertEquals(toMapped(m2), toMapped(mrb));
  Assert.assertEquals(m2, toMapped(mrb));
}
 
开发者ID:RoaringBitmap,项目名称:RoaringBitmap,代码行数:27,代码来源:TestRunContainer.java

示例9: testToAndFromByteBuffer

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Test
public void testToAndFromByteBuffer()
{
  BitmapFactory bf = new ConciseBitmapFactory();
  RTree tree = new RTree(2, new LinearGutmanSplitStrategy(0, 50, bf), bf);

  tree.insert(new float[]{0, 0}, 1);
  tree.insert(new float[]{1, 1}, 2);
  tree.insert(new float[]{2, 2}, 3);
  tree.insert(new float[]{3, 3}, 4);
  tree.insert(new float[]{4, 4}, 5);

  ImmutableRTree firstTree = ImmutableRTree.newImmutableFromMutable(tree);
  ByteBuffer buffer = ByteBuffer.wrap(firstTree.toBytes());
  ImmutableRTree secondTree = new ImmutableRTree(buffer, bf);
  Iterable<ImmutableBitmap> points = secondTree.search(new RadiusBound(new float[]{0, 0}, 10));
  ImmutableBitmap finalSet = bf.union(points);
  Assert.assertTrue(finalSet.size() >= 5);
  Set<Integer> expected = Sets.newHashSet(1, 2, 3, 4, 5);
  IntIterator iter = finalSet.iterator();
  while (iter.hasNext()) {
    Assert.assertTrue(expected.contains(iter.next()));
  }
}
 
开发者ID:metamx,项目名称:bytebuffer-collections,代码行数:25,代码来源:ImmutableRTreeTest.java

示例10: testToAndFromByteBufferRoaring

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Test
public void testToAndFromByteBufferRoaring()
{
  BitmapFactory bf = new RoaringBitmapFactory();
  RTree tree = new RTree(2, new LinearGutmanSplitStrategy(0, 50, bf), bf);

  tree.insert(new float[]{0, 0}, 1);
  tree.insert(new float[]{1, 1}, 2);
  tree.insert(new float[]{2, 2}, 3);
  tree.insert(new float[]{3, 3}, 4);
  tree.insert(new float[]{4, 4}, 5);

  ImmutableRTree firstTree = ImmutableRTree.newImmutableFromMutable(tree);
  ByteBuffer buffer = ByteBuffer.wrap(firstTree.toBytes());
  ImmutableRTree secondTree = new ImmutableRTree(buffer, bf);
  Iterable<ImmutableBitmap> points = secondTree.search(new RadiusBound(new float[]{0, 0}, 10));
  ImmutableBitmap finalSet = bf.union(points);

  Assert.assertTrue(finalSet.size() >= 5);

  Set<Integer> expected = Sets.newHashSet(1, 2, 3, 4, 5);
  IntIterator iter = finalSet.iterator();
  while (iter.hasNext()) {
    Assert.assertTrue(expected.contains(iter.next()));
  }
}
 
开发者ID:metamx,项目名称:bytebuffer-collections,代码行数:27,代码来源:ImmutableRTreeTest.java

示例11: getEarliest

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public Instant getEarliest() {
    final IntIterator it = rbm.getIntIterator();
    if (!it.hasNext()) {
        return null;
    }
    return getInstantFromInt(it.next());
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:9,代码来源:RBMBackedTimestampSet.java

示例12: getLatest

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Override
public Instant getLatest() {
    final IntIterator it = rbm.getReverseIntIterator();
    if (!it.hasNext()) {
        return null;
    }
    return getInstantFromInt(it.next());
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:9,代码来源:RBMBackedTimestampSet.java

示例13: validate

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
private void validate(File invertedIndex, Set<Integer>[] postingLists) throws IOException {
  try (PinotDataBuffer dataBuffer = PinotDataBuffer.fromFile(invertedIndex, ReadMode.mmap,
      FileChannel.MapMode.READ_ONLY, "BitmapInvertedIndexCreatorTest")) {
    BitmapInvertedIndexReader reader = new BitmapInvertedIndexReader(dataBuffer, CARDINALITY);
    for (int dictId = 0; dictId < CARDINALITY; dictId++) {
      ImmutableRoaringBitmap bitmap = reader.getDocIds(dictId);
      Set<Integer> expected = postingLists[dictId];
      Assert.assertEquals(bitmap.getCardinality(), expected.size());
      IntIterator intIterator = bitmap.getIntIterator();
      while (intIterator.hasNext()) {
        Assert.assertTrue(expected.contains(intIterator.next()));
      }
    }
  }
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:16,代码来源:BitmapInvertedIndexCreatorTest.java

示例14: testSearchWithSplit3

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Test
public void testSearchWithSplit3()
{
  BitmapFactory bf = new ConciseBitmapFactory();
  RTree tree = new RTree(2, new LinearGutmanSplitStrategy(0, 50, bf), bf);
  tree.insert(new float[]{0.0f, 0.0f}, 0);
  tree.insert(new float[]{1.0f, 3.0f}, 1);
  tree.insert(new float[]{4.0f, 2.0f}, 2);
  tree.insert(new float[]{7.0f, 3.0f}, 3);
  tree.insert(new float[]{8.0f, 6.0f}, 4);

  Random rand = new Random();
  for (int i = 5; i < 5000; i++) {
    tree.insert(
        new float[]{(float) (rand.nextFloat() * 10 + 10.0), (float) (rand.nextFloat() * 10 + 10.0)},
        i
    );
  }

  ImmutableRTree searchTree = ImmutableRTree.newImmutableFromMutable(tree);
  Iterable<ImmutableBitmap> points = searchTree.search(
      new RadiusBound(new float[]{0.0f, 0.0f}, 5)
  );
  ImmutableBitmap finalSet = bf.union(points);
  Assert.assertTrue(finalSet.size() >= 3);

  Set<Integer> expected = Sets.newHashSet(0, 1, 2);
  IntIterator iter = finalSet.iterator();
  while (iter.hasNext()) {
    Assert.assertTrue(expected.contains(iter.next()));
  }
}
 
开发者ID:metamx,项目名称:bytebuffer-collections,代码行数:33,代码来源:ImmutableRTreeTest.java

示例15: testSearchWithSplit3Roaring

import org.roaringbitmap.IntIterator; //导入方法依赖的package包/类
@Test
public void testSearchWithSplit3Roaring()
{
  BitmapFactory bf = new RoaringBitmapFactory();
  RTree tree = new RTree(2, new LinearGutmanSplitStrategy(0, 50, bf), bf);
  tree.insert(new float[]{0.0f, 0.0f}, 0);
  tree.insert(new float[]{1.0f, 3.0f}, 1);
  tree.insert(new float[]{4.0f, 2.0f}, 2);
  tree.insert(new float[]{7.0f, 3.0f}, 3);
  tree.insert(new float[]{8.0f, 6.0f}, 4);

  Random rand = new Random();
  for (int i = 5; i < 5000; i++) {
    tree.insert(
        new float[]{(float) (rand.nextFloat() * 10 + 10.0), (float) (rand.nextFloat() * 10 + 10.0)},
        i
    );
  }

  ImmutableRTree searchTree = ImmutableRTree.newImmutableFromMutable(tree);
  Iterable<ImmutableBitmap> points = searchTree.search(
      new RadiusBound(new float[]{0.0f, 0.0f}, 5)
  );
  ImmutableBitmap finalSet = bf.union(points);
  Assert.assertTrue(finalSet.size() >= 3);

  Set<Integer> expected = Sets.newHashSet(0, 1, 2);
  IntIterator iter = finalSet.iterator();
  while (iter.hasNext()) {
    Assert.assertTrue(expected.contains(iter.next()));
  }
}
 
开发者ID:metamx,项目名称:bytebuffer-collections,代码行数:33,代码来源:ImmutableRTreeTest.java


注:本文中的org.roaringbitmap.IntIterator.hasNext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。