本文整理汇总了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;未经允许,请勿转载。 |
请发表评论