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


Java RoaringBitmap.getCardinality方法代码示例

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


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

示例1: matchCaseInsensitiveOr

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
private void matchCaseInsensitiveOr(TagMatcher t, Map<Integer, String> valuesWithMetricIds,
                                    List<RoaringBitmap> resultantMap) {

  RoaringBitmap iLiteralMatches = new RoaringBitmap();
  final String[] split = t.tag.value.split("\\|");

  if (split.length > 0) {
    valuesWithMetricIds.entrySet().stream()
        .filter(entry -> caseInsensitiveTagValueMatch(split, entry.getValue()))
        .forEach(entry -> iLiteralMatches.add(entry.getKey()));
  }

  if (iLiteralMatches.getCardinality() > 0) {
    resultantMap.add(iLiteralMatches);
  } else {
    resultantMap.add(EMPTY_BITMAP);
  }
}
 
开发者ID:pinterest,项目名称:yuvi,代码行数:19,代码来源:InvertedIndexTagStore.java

示例2: generateEdgesInCommunity

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
private void generateEdgesInCommunity(RoaringBitmap community) {
    Iterator<Integer> iter = community.iterator();
    while (iter.hasNext()) {
        int nodeA = iter.next();
        Iterator<Integer> iter2 = community.iterator();
        while (iter2.hasNext()) {
            int nodeB = iter2.next();
            if (nodeA < nodeB) {
                double prob = random.nextDouble();
                if (prob < p[community.getCardinality() - 1]) {
                    adjacencyMatrix[nodeA].add(nodeB);
                    adjacencyMatrix[nodeB].add(nodeA);
                }
            }
        }
    }
}
 
开发者ID:ldbc,项目名称:ldbc_snb_datagen,代码行数:18,代码来源:BTERKnowsGenerator.java

示例3: matchRegEx

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
private void matchRegEx(TagMatcher t, Map<Integer, String> valuesWithMetricIds,
                        List<RoaringBitmap> resultMap) {
  Pattern pattern = Pattern.compile(t.tag.value);
  RoaringBitmap regExpMatches = new RoaringBitmap();
  valuesWithMetricIds.entrySet().stream()
      .filter(entry -> pattern.matcher(entry.getValue()).find())
      .forEach(entry -> regExpMatches.add(entry.getKey()));
  if (regExpMatches.getCardinality() > 0) {
    resultMap.add(regExpMatches);
  } else {
    resultMap.add(EMPTY_BITMAP);
  }
}
 
开发者ID:pinterest,项目名称:yuvi,代码行数:14,代码来源:InvertedIndexTagStore.java

示例4: matchWildcard

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
private void matchWildcard(TagMatcher t, Map<Integer, String> valuesWithMetricIds,
                           List<RoaringBitmap> resultMap) {

  final boolean caseInsensitive = t.type.equals(MatchType.IWILDCARD);
  String actual = caseInsensitive ? t.tag.value.toLowerCase() : t.tag.value;

  // Parse wild card string
  boolean hasPostfix;
  boolean hasPrefix;
  String[] components;

  if (actual.charAt(0) == '*') {
    hasPostfix = true;
    while (actual.charAt(0) == '*') {
      if (actual.length() < 2) {
        break;
      }
      actual = actual.substring(1);
    }
  } else {
    hasPostfix = false;
  }

  if (actual.charAt(actual.length() - 1) == '*') {
    hasPrefix = true;
    while (actual.charAt(actual.length() - 1) == '*') {
      if (actual.length() < 2) {
        break;
      }
      actual = actual.substring(0, actual.length() - 1);
    }
  } else {
    hasPrefix = false;
  }
  if (actual.indexOf('*') > 0) {
    components = actual.split("\\*");
  } else {
    components = new String[1];
    components[0] = actual;
  }

  // Match the wildcard string
  RoaringBitmap wildcardMatches = new RoaringBitmap();
  valuesWithMetricIds.entrySet().stream()
      .filter(entry -> matchTagsWithWildcard(hasPostfix, hasPrefix, components,
          caseInsensitive ? entry.getValue().toLowerCase() : entry.getValue()))
      .forEach(entry -> wildcardMatches.add(entry.getKey()));

  if (wildcardMatches.getCardinality() > 0) {
    resultMap.add(wildcardMatches);
  } else {
    resultMap.add(EMPTY_BITMAP);
  }
}
 
开发者ID:pinterest,项目名称:yuvi,代码行数:55,代码来源:InvertedIndexTagStore.java

示例5: threeOverlappingInputBitmapsProducesSingleSortedBitmap

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Test
public void threeOverlappingInputBitmapsProducesSingleSortedBitmap() {
    int[] inputs = new int[6];
    RoaringBitmap inputBitmap1 = new RoaringBitmap();
    int input1 = 23615000;
    int input2 = 23616440;
    inputBitmap1.add(input1);
    inputBitmap1.add(input2);
    inputs[0] = input1;
    inputs[1] = input2;

    RoaringBitmapAggregator roaringBitmapAggregator = new RoaringBitmapAggregator();
    RoaringBitmap state = roaringBitmapAggregator.apply(inputBitmap1, null);
    assertEquals(state, inputBitmap1);

    RoaringBitmap inputBitmap2 = new RoaringBitmap();
    int input3 = 23615003;
    int input4 = 23615018;
    inputBitmap2.add(input3);
    inputBitmap2.add(input4);
    inputs[2] = input3;
    inputs[3] = input4;
    state = roaringBitmapAggregator.apply(state, inputBitmap2);

    RoaringBitmap inputBitmap3 = new RoaringBitmap();
    int input5 = 23615002;
    int input6 = 23615036;
    inputBitmap3.add(input5);
    inputBitmap3.add(input6);
    inputs[4] = input5;
    inputs[5] = input6;
    state = roaringBitmapAggregator.apply(state, inputBitmap3);

    Arrays.sort(inputs);
    int outPutBitmapSize = state.getCardinality();
    assertEquals(6, outPutBitmapSize);
    int i = 0;
    for (final Integer value : state) {
        assertEquals((Integer) inputs[i], value);
        i++;
    }
}
 
开发者ID:gchq,项目名称:Gaffer,代码行数:43,代码来源:RoaringBitmapAggregatorTest.java

示例6: cardinality

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Override
public long cardinality(RoaringBitmap bitmap) {
    return bitmap == null ? -1 : bitmap.getCardinality();
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:5,代码来源:MiruBitmapsRoaring.java

示例7: containsAll

import org.roaringbitmap.RoaringBitmap; //导入方法依赖的package包/类
@Override
public boolean containsAll(RoaringBitmap container, RoaringBitmap contained) {
    RoaringBitmap intersection = RoaringBitmap.and(container, contained);
    return intersection.getCardinality() == contained.getCardinality();
}
 
开发者ID:jivesoftware,项目名称:miru,代码行数:6,代码来源:MiruBitmapsRoaring.java


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