• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java IntIterator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: getSortedBitmapIntIteratorsForStringColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForStringColumn(final String columnToSortOn) {
  final RealtimeInvertedIndex index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionaryReader dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<String> rawValues = new ArrayList<String>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((String) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("dictionary len : {}, time to sort : {} ", dictionary.length(), (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIdSetFor(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:21,代码来源:RealtimeSegmentImpl.java


示例2: getSortedBitmapIntIteratorsForIntegerColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForIntegerColumn(final String columnToSortOn) {
  final RealtimeInvertedIndex index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionaryReader dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  int[] rawValuesArr = new int[dictionary.length()];

  for (int i = 0; i < dictionary.length(); i++) {
    rawValuesArr[i] = (Integer) dictionary.get(i);
  }

  Arrays.sort(rawValuesArr);

  long start = System.currentTimeMillis();

  LOGGER.info("dictionary len : {}, time to sort : {} ", dictionary.length(), (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValuesArr.length; i++) {
    intIterators[i] = index.getDocIdSetFor(dictionary.indexOf(rawValuesArr[i])).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:23,代码来源:RealtimeSegmentImpl.java


示例3: getSortedBitmapIntIteratorsForLongColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForLongColumn(final String columnToSortOn) {
  final RealtimeInvertedIndex index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionaryReader dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<Long> rawValues = new ArrayList<Long>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((Long) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("dictionary len : {}, time to sort : {} ", dictionary.length(), (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIdSetFor(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:21,代码来源:RealtimeSegmentImpl.java


示例4: getSortedBitmapIntIteratorsForFloatColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForFloatColumn(final String columnToSortOn) {
  final RealtimeInvertedIndex index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionaryReader dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<Float> rawValues = new ArrayList<Float>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((Float) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("dictionary len : {}, time to sort : {} ", dictionary.length(), (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIdSetFor(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:21,代码来源:RealtimeSegmentImpl.java


示例5: getSortedBitmapIntIteratorsForDoubleColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForDoubleColumn(final String columnToSortOn) {
  final RealtimeInvertedIndex index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionaryReader dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<Double> rawValues = new ArrayList<Double>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((Double) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("dictionary len : {}, time to sort : {} ", dictionary.length(), (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIdSetFor(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:21,代码来源:RealtimeSegmentImpl.java


示例6: 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


示例7: 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


示例8: 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


示例9: 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


示例10: 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


示例11: 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


示例12: getSortedBitmapIntIteratorsForStringColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForStringColumn(final String columnToSortOn) {
  final RealtimeInvertedIndexReader index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionary dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<String> rawValues = new ArrayList<String>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((String) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("Column {}, dictionary len : {}, time to sort : {} ", columnToSortOn, dictionary.length(),
      (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIds(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:22,代码来源:RealtimeSegmentImpl.java


示例13: getSortedBitmapIntIteratorsForIntegerColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForIntegerColumn(final String columnToSortOn) {
  final RealtimeInvertedIndexReader index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionary dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  int[] rawValuesArr = new int[dictionary.length()];

  for (int i = 0; i < dictionary.length(); i++) {
    rawValuesArr[i] = (Integer) dictionary.get(i);
  }

  Arrays.sort(rawValuesArr);

  long start = System.currentTimeMillis();

  LOGGER.info("Column {}, dictionary len : {}, time to sort : {} ", columnToSortOn, dictionary.length(),
      (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValuesArr.length; i++) {
    intIterators[i] = index.getDocIds(dictionary.indexOf(rawValuesArr[i])).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:24,代码来源:RealtimeSegmentImpl.java


示例14: getSortedBitmapIntIteratorsForLongColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForLongColumn(final String columnToSortOn) {
  final RealtimeInvertedIndexReader index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionary dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<Long> rawValues = new ArrayList<Long>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((Long) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("Column {}, dictionary len : {}, time to sort : {} ", columnToSortOn, dictionary.length(),
      (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIds(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:22,代码来源:RealtimeSegmentImpl.java


示例15: getSortedBitmapIntIteratorsForFloatColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForFloatColumn(final String columnToSortOn) {
  final RealtimeInvertedIndexReader index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionary dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<Float> rawValues = new ArrayList<Float>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((Float) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("Column {}, dictionary len : {}, time to sort : {} ", columnToSortOn, dictionary.length(),
      (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIds(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:22,代码来源:RealtimeSegmentImpl.java


示例16: getSortedBitmapIntIteratorsForDoubleColumn

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private IntIterator[] getSortedBitmapIntIteratorsForDoubleColumn(final String columnToSortOn) {
  final RealtimeInvertedIndexReader index = invertedIndexMap.get(columnToSortOn);
  final MutableDictionary dictionary = dictionaryMap.get(columnToSortOn);
  final IntIterator[] intIterators = new IntIterator[dictionary.length()];

  final List<Double> rawValues = new ArrayList<Double>();
  for (int i = 0; i < dictionary.length(); i++) {
    rawValues.add((Double) dictionary.get(i));
  }

  long start = System.currentTimeMillis();
  Collections.sort(rawValues);

  LOGGER.info("Column {}, dictionary len : {}, time to sort : {} ", columnToSortOn, dictionary.length(),
      (System.currentTimeMillis() - start));

  for (int i = 0; i < rawValues.size(); i++) {
    intIterators[i] = index.getDocIds(dictionary.indexOf(rawValues.get(i))).getIntIterator();
  }
  return intIterators;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:22,代码来源:RealtimeSegmentImpl.java


示例17: intIterator

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
@Override
public IIntIterator intIterator() {

	return new IIntIterator() {
		private final IntIterator it = bitmap.getIntIterator();

		@Override
		public int next() {
			return it.next();
		}

		@Override
		public boolean hasNext() {
			return it.hasNext();
		}
	};
}
 
开发者ID:pmeisen,项目名称:dis-timeintervaldataanalyzer,代码行数:18,代码来源:RoaringBitmap.java


示例18: reverseDoc

import org.roaringbitmap.IntIterator; //导入依赖的package包/类
private static int[] reverseDoc(ReaderLocal reader, String fieldName, Collection<String> uniqueKeys)
		throws IOException {
	final TermDocsHigherConsumer higherConsumer = new TermDocsHigherConsumer();
	for (String uniqueKey : uniqueKeys)
		reader.termDocs(new Term(fieldName, uniqueKey), higherConsumer);
	higherConsumer.bitSet.flip(0L, higherConsumer.higher + 1);
	IntBufferedArrayInterface intBufferArray =
			IntBufferedArrayFactory.INSTANCE.newInstance(higherConsumer.bitSet.getCardinality());
	IntIterator iterator = higherConsumer.bitSet.getIntIterator();
	while (iterator.hasNext()) {
		int docId = iterator.next();
		if (!reader.isDeletedNoLock(docId))
			intBufferArray.add(docId);
	}
	return intBufferArray.getFinalArray();
}
 
开发者ID:jaeksoft,项目名称:opensearchserver,代码行数:17,代码来源:ResultDocuments.java


示例19: 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


示例20: 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



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Synset类代码示例发布时间:2022-05-22
下一篇:
Java DefaultClaims类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap