com.google.common.collect.Range.hasUpperBound()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(141)

本文整理了Java中com.google.common.collect.Range.hasUpperBound方法的一些代码示例,展示了Range.hasUpperBound的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Range.hasUpperBound方法的具体详情如下:
包路径:com.google.common.collect.Range
类名称:Range
方法名:hasUpperBound

Range.hasUpperBound介绍

[英]Returns true if this range has an upper endpoint.
[中]如果此范围有上限,则返回true。

代码示例

代码示例来源:origin: google/guava

/** Converts a Range to a GeneralRange. */
static <T extends Comparable> GeneralRange<T> from(Range<T> range) {
 @Nullable T lowerEndpoint = range.hasLowerBound() ? range.lowerEndpoint() : null;
 BoundType lowerBoundType = range.hasLowerBound() ? range.lowerBoundType() : OPEN;
 @Nullable T upperEndpoint = range.hasUpperBound() ? range.upperEndpoint() : null;
 BoundType upperBoundType = range.hasUpperBound() ? range.upperBoundType() : OPEN;
 return new GeneralRange<T>(
   Ordering.natural(),
   range.hasLowerBound(),
   lowerEndpoint,
   lowerBoundType,
   range.hasUpperBound(),
   upperEndpoint,
   upperBoundType);
}

代码示例来源:origin: prestodb/presto

@Override
public Range<Long> visitFilter(FilterNode node, Void context)
{
  Range<Long> sourceCardinalityRange = node.getSource().accept(this, null);
  if (sourceCardinalityRange.hasUpperBound()) {
    return Range.closed(0L, sourceCardinalityRange.upperEndpoint());
  }
  return Range.atLeast(0L);
}

代码示例来源:origin: prestodb/presto

@Override
  public Range<Long> visitLimit(LimitNode node, Void context)
  {
    Range<Long> sourceCardinalityRange = node.getSource().accept(this, null);
    long upper = node.getCount();
    if (sourceCardinalityRange.hasUpperBound()) {
      upper = min(sourceCardinalityRange.upperEndpoint(), node.getCount());
    }
    long lower = min(upper, sourceCardinalityRange.lowerEndpoint());
    return Range.closed(lower, upper);
  }
}

代码示例来源:origin: google/guava

if (rangeBelowLB.upperBound.compareTo(rangeToRemove.lowerBound) >= 0) {
 if (rangeToRemove.hasUpperBound()
   && rangeBelowLB.upperBound.compareTo(rangeToRemove.upperBound) >= 0) {
if (rangeToRemove.hasUpperBound()
  && rangeBelowUB.upperBound.compareTo(rangeToRemove.upperBound) >= 0) {

代码示例来源:origin: google/guava

@Override
Iterator<Entry<Cut<C>, Range<C>>> descendingEntryIterator() {
 Collection<Range<C>> candidates;
 if (upperBoundWindow.hasUpperBound()) {
  candidates =
    rangesByLowerBound
      .headMap(upperBoundWindow.upperEndpoint(), false)
      .descendingMap()
      .values();
 } else {
  candidates = rangesByLowerBound.descendingMap().values();
 }
 final PeekingIterator<Range<C>> backingItr = Iterators.peekingIterator(candidates.iterator());
 if (backingItr.hasNext()
   && upperBoundWindow.upperBound.isLessThan(backingItr.peek().upperBound)) {
  backingItr.next();
 }
 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
  @Override
  protected Entry<Cut<C>, Range<C>> computeNext() {
   if (!backingItr.hasNext()) {
    return endOfData();
   }
   Range<C> range = backingItr.next();
   return upperBoundWindow.lowerBound.isLessThan(range.upperBound)
     ? Maps.immutableEntry(range.upperBound, range)
     : endOfData();
  }
 };
}

代码示例来源:origin: apache/incubator-druid

private static Range<Long> toLongRange(final Range<BoundValue> range)
 {
  if (!range.hasUpperBound() && !range.hasLowerBound()) {
   return Range.all();
  } else if (range.hasUpperBound() && !range.hasLowerBound()) {
   return Range.upTo(Long.parseLong(range.upperEndpoint().getValue()), range.upperBoundType());
  } else if (!range.hasUpperBound() && range.hasLowerBound()) {
   return Range.downTo(Long.parseLong(range.lowerEndpoint().getValue()), range.lowerBoundType());
  } else {
   return Range.range(
     Long.parseLong(range.lowerEndpoint().getValue()), range.lowerBoundType(),
     Long.parseLong(range.upperEndpoint().getValue()), range.upperBoundType()
   );
  }
 }
}

代码示例来源:origin: google/guava

&& map.comparator() != Ordering.natural()
  && range.hasLowerBound()
  && range.hasUpperBound()) {
 checkArgument(
   map.comparator().compare(range.lowerEndpoint(), range.upperEndpoint()) <= 0,
   "map is using a custom comparator which is inconsistent with the natural ordering.");
if (range.hasLowerBound() && range.hasUpperBound()) {
 return map.subMap(
   range.lowerEndpoint(),
} else if (range.hasLowerBound()) {
 return map.tailMap(range.lowerEndpoint(), range.lowerBoundType() == BoundType.CLOSED);
} else if (range.hasUpperBound()) {
 return map.headMap(range.upperEndpoint(), range.upperBoundType() == BoundType.CLOSED);

代码示例来源:origin: apache/incubator-druid

public static BoundDimFilter toFilter(final BoundRefKey boundRefKey, final Range<BoundValue> range)
{
 return new BoundDimFilter(
   boundRefKey.getDimension(),
   range.hasLowerBound() ? range.lowerEndpoint().getValue() : null,
   range.hasUpperBound() ? range.upperEndpoint().getValue() : null,
   range.hasLowerBound() && range.lowerBoundType() == BoundType.OPEN,
   range.hasUpperBound() && range.upperBoundType() == BoundType.OPEN,
   null,
   boundRefKey.getExtractionFn(),
   boundRefKey.getComparator()
 );
}

代码示例来源:origin: google/guava

effectiveRange = effectiveRange.intersection(Range.atLeast(domain.minValue()));
if (!range.hasUpperBound()) {
 effectiveRange = effectiveRange.intersection(Range.atMost(domain.maxValue()));

代码示例来源:origin: google/guava

private static void assertUnboundedAbove(Range<Integer> range) {
 assertFalse(range.hasUpperBound());
 try {
  range.upperEndpoint();
  fail();
 } catch (IllegalStateException expected) {
 }
 try {
  range.upperBoundType();
  fail();
 } catch (IllegalStateException expected) {
 }
}

代码示例来源:origin: google/guava

public void testAtMost() {
 Range<Integer> range = Range.atMost(4);
 assertTrue(range.contains(Integer.MIN_VALUE));
 assertTrue(range.contains(4));
 assertFalse(range.contains(5));
 assertUnboundedBelow(range);
 assertTrue(range.hasUpperBound());
 assertEquals(4, (int) range.upperEndpoint());
 assertEquals(CLOSED, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("(-\u221e..4]", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testLessThan() {
 Range<Integer> range = Range.lessThan(5);
 assertTrue(range.contains(Integer.MIN_VALUE));
 assertTrue(range.contains(4));
 assertFalse(range.contains(5));
 assertUnboundedBelow(range);
 assertTrue(range.hasUpperBound());
 assertEquals(5, (int) range.upperEndpoint());
 assertEquals(OPEN, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("(-\u221e..5)", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public static void serialize(SerializationStreamWriter writer, Range<?> instance)
   throws SerializationException {

  if (instance.hasLowerBound()) {
   writer.writeBoolean(true);
   writer.writeBoolean(instance.lowerBoundType() == BoundType.CLOSED);
   writer.writeObject(instance.lowerEndpoint());
  } else {
   writer.writeBoolean(false);
  }

  if (instance.hasUpperBound()) {
   writer.writeBoolean(true);
   writer.writeBoolean(instance.upperBoundType() == BoundType.CLOSED);
   writer.writeObject(instance.upperEndpoint());
  } else {
   writer.writeBoolean(false);
  }
 }
}

代码示例来源:origin: google/guava

public void testSingleton() {
 Range<Integer> range = Range.closed(4, 4);
 assertFalse(range.contains(3));
 assertTrue(range.contains(4));
 assertFalse(range.contains(5));
 assertTrue(range.hasLowerBound());
 assertEquals(4, (int) range.lowerEndpoint());
 assertEquals(CLOSED, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(4, (int) range.upperEndpoint());
 assertEquals(CLOSED, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("[4..4]", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testEmpty2() {
 Range<Integer> range = Range.openClosed(4, 4);
 assertFalse(range.contains(3));
 assertFalse(range.contains(4));
 assertFalse(range.contains(5));
 assertTrue(range.hasLowerBound());
 assertEquals(4, (int) range.lowerEndpoint());
 assertEquals(OPEN, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(4, (int) range.upperEndpoint());
 assertEquals(CLOSED, range.upperBoundType());
 assertTrue(range.isEmpty());
 assertEquals("(4..4]", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testEmpty1() {
 Range<Integer> range = Range.closedOpen(4, 4);
 assertFalse(range.contains(3));
 assertFalse(range.contains(4));
 assertFalse(range.contains(5));
 assertTrue(range.hasLowerBound());
 assertEquals(4, (int) range.lowerEndpoint());
 assertEquals(CLOSED, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(4, (int) range.upperEndpoint());
 assertEquals(OPEN, range.upperBoundType());
 assertTrue(range.isEmpty());
 assertEquals("[4..4)", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testClosed() {
 Range<Integer> range = Range.closed(5, 7);
 checkContains(range);
 assertTrue(range.hasLowerBound());
 assertEquals(5, (int) range.lowerEndpoint());
 assertEquals(CLOSED, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(7, (int) range.upperEndpoint());
 assertEquals(CLOSED, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("[5..7]", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testOpen() {
 Range<Integer> range = Range.open(4, 8);
 checkContains(range);
 assertTrue(range.hasLowerBound());
 assertEquals(4, (int) range.lowerEndpoint());
 assertEquals(OPEN, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(8, (int) range.upperEndpoint());
 assertEquals(OPEN, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("(4..8)", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testClosedOpen() {
 Range<Integer> range = Range.closedOpen(5, 8);
 checkContains(range);
 assertTrue(range.hasLowerBound());
 assertEquals(5, (int) range.lowerEndpoint());
 assertEquals(CLOSED, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(8, (int) range.upperEndpoint());
 assertEquals(OPEN, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("[5..8)", range.toString());
 reserializeAndAssert(range);
}

代码示例来源:origin: google/guava

public void testOpenClosed() {
 Range<Integer> range = Range.openClosed(4, 7);
 checkContains(range);
 assertTrue(range.hasLowerBound());
 assertEquals(4, (int) range.lowerEndpoint());
 assertEquals(OPEN, range.lowerBoundType());
 assertTrue(range.hasUpperBound());
 assertEquals(7, (int) range.upperEndpoint());
 assertEquals(CLOSED, range.upperBoundType());
 assertFalse(range.isEmpty());
 assertEquals("(4..7]", range.toString());
 reserializeAndAssert(range);
}

相关文章