本文整理了Java中com.google.common.collect.Range.span
方法的一些代码示例,展示了Range.span
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Range.span
方法的具体详情如下:
包路径:com.google.common.collect.Range
类名称:Range
方法名:span
[英]Returns the minimal range that #encloses both this range and other. For example, the span of [1..3] and (5..7) is [1..7).
If the input ranges are #isConnected, the returned range can also be called their union. If they are not, note that the span might contain values that are not contained in either input range.
Like #intersection(Range), this operation is commutative, associative and idempotent. Unlike it, it is always well-defined for any two input ranges.
[中]返回#包含此范围和其他范围的最小范围。例如,[1..3]和(5..7)的跨度是[1..7]。
如果输入范围是#未连接的,则返回的范围也可以称为其并集。如果不是,请注意跨度可能包含两个输入范围中都不包含的值。
与#交(值域)一样,这个运算是交换的、结合的和幂等的。与之不同的是,它总是为任意两个输入范围定义良好。
代码示例来源:origin: apache/kylin
public static <C extends Comparable<?>> Range<C> merge(Range<C> a, Range<C> b) {
if (a == null && b == null) {
return null;
} else if (a == null || b == null) {
return a == null ? b : a;
} else {
return a.span(b);
}
}
代码示例来源:origin: google/guava
/** Returns the range that spans the given range and entry, if the entry can be coalesced. */
private static <K extends Comparable, V> Range<K> coalesce(
Range<K> range, V value, @Nullable Entry<Cut<K>, RangeMapEntry<K, V>> entry) {
if (entry != null
&& entry.getValue().getKey().isConnected(range)
&& entry.getValue().getValue().equals(value)) {
return range.span(entry.getValue().getKey());
}
return range;
}
代码示例来源:origin: google/j2objc
/** Returns the range that spans the given range and entry, if the entry can be coalesced. */
private static <K extends Comparable, V> Range<K> coalesce(
Range<K> range, V value, @NullableDecl Entry<Cut<K>, RangeMapEntry<K, V>> entry) {
if (entry != null
&& entry.getValue().getKey().isConnected(range)
&& entry.getValue().getValue().equals(value)) {
return range.span(entry.getValue().getKey());
}
return range;
}
代码示例来源:origin: wildfly/wildfly
/** Returns the range that spans the given range and entry, if the entry can be coalesced. */
private static <K extends Comparable, V> Range<K> coalesce(
Range<K> range, V value, @NullableDecl Entry<Cut<K>, RangeMapEntry<K, V>> entry) {
if (entry != null
&& entry.getValue().getKey().isConnected(range)
&& entry.getValue().getValue().equals(value)) {
return range.span(entry.getValue().getKey());
}
return range;
}
代码示例来源:origin: google/guava
range,
nextRange);
range = range.span(peekingItr.next());
} else {
break;
代码示例来源:origin: google/google-java-format
private static Range<Integer> union(Range<Integer> x, Range<Integer> y) {
return x.isEmpty() ? y : y.isEmpty() ? x : x.span(y).canonical(INTEGERS);
}
代码示例来源:origin: google/j2objc
range,
nextRange);
range = range.span(peekingItr.next());
} else {
break;
代码示例来源:origin: google/guava
assertEquals(Range.closed(0, 8), range.span(Range.closed(0, 2)));
assertEquals(Range.atMost(8), range.span(Range.atMost(2)));
assertEquals(Range.closed(2, 8), range.span(Range.closedOpen(2, 4)));
assertEquals(Range.atMost(8), range.span(Range.lessThan(4)));
assertEquals(Range.closed(2, 8), range.span(Range.closed(2, 6)));
assertEquals(Range.atMost(8), range.span(Range.atMost(6)));
assertEquals(range, range.span(Range.closed(4, 6)));
assertEquals(range, range.span(Range.closed(5, 7)));
assertEquals(range, range.span(Range.closed(6, 8)));
assertEquals(range, range.span(range));
assertEquals(Range.closed(4, 10), range.span(Range.closed(4, 10)));
assertEquals(Range.atLeast(4), range.span(Range.atLeast(4)));
assertEquals(Range.closed(2, 8), range.span(Range.closed(2, 8)));
assertEquals(Range.atMost(8), range.span(Range.atMost(8)));
assertEquals(Range.closed(2, 10), range.span(Range.closed(2, 10)));
assertEquals(Range.<Integer>all(), range.span(Range.<Integer>all()));
assertEquals(Range.closed(4, 10), range.span(Range.closed(6, 10)));
assertEquals(Range.atLeast(4), range.span(Range.atLeast(6)));
代码示例来源:origin: google/google-java-format
private static Range<Integer> union(Range<Integer> x, Range<Integer> y) {
return x.isEmpty() ? y : y.isEmpty() ? x : x.span(y).canonical(DiscreteDomain.integers());
}
代码示例来源:origin: wildfly/wildfly
range,
nextRange);
range = range.span(peekingItr.next());
} else {
break;
代码示例来源:origin: google/guava
expectedSpan = itr.next();
while (itr.hasNext()) {
expectedSpan = expectedSpan.span(itr.next());
代码示例来源:origin: google/guava
private static void doPairTest(Range<Integer> a, Range<Integer> b) {
TreeRangeSet<Integer> rangeSet = TreeRangeSet.create();
rangeSet.add(a);
rangeSet.add(b);
if (a.isEmpty() && b.isEmpty()) {
assertThat(rangeSet.asRanges()).isEmpty();
} else if (a.isEmpty()) {
assertThat(rangeSet.asRanges()).contains(b);
} else if (b.isEmpty()) {
assertThat(rangeSet.asRanges()).contains(a);
} else if (a.isConnected(b)) {
assertThat(rangeSet.asRanges()).containsExactly(a.span(b));
} else {
if (a.lowerEndpoint() < b.lowerEndpoint()) {
assertThat(rangeSet.asRanges()).containsExactly(a, b).inOrder();
} else {
assertThat(rangeSet.asRanges()).containsExactly(b, a).inOrder();
}
}
}
代码示例来源:origin: google/guava
public void testSpanTwoRanges() {
for (Range<Integer> range1 : RANGES) {
for (Range<Integer> range2 : RANGES) {
if (!range1.isConnected(range2) || range1.intersection(range2).isEmpty()) {
RangeMap<Integer, Integer> rangemap =
ImmutableRangeMap.<Integer, Integer>builder().put(range1, 1).put(range2, 2).build();
assertEquals(range1.span(range2), rangemap.span());
}
}
}
}
代码示例来源:origin: google/guava
public void testSpanTwoRanges() {
for (Range<Integer> range1 : RANGES) {
for (Range<Integer> range2 : RANGES) {
RangeMap<Integer, Integer> rangeMap = TreeRangeMap.create();
rangeMap.put(range1, 1);
rangeMap.put(range2, 2);
Range<Integer> expected;
if (range1.isEmpty()) {
if (range2.isEmpty()) {
expected = null;
} else {
expected = range2;
}
} else {
if (range2.isEmpty()) {
expected = range1;
} else {
expected = range1.span(range2);
}
}
try {
assertEquals(expected, rangeMap.span());
assertNotNull(expected);
} catch (NoSuchElementException e) {
assertNull(expected);
}
}
}
}
代码示例来源:origin: org.kill-bill.billing/killbill-platform-osgi-bundles-logger
/** Returns the range that spans the given range and entry, if the entry can be coalesced. */
private static <K extends Comparable, V> Range<K> coalesce(
Range<K> range, V value, @Nullable Entry<Cut<K>, RangeMapEntry<K, V>> entry) {
if (entry != null
&& entry.getValue().getKey().isConnected(range)
&& entry.getValue().getValue().equals(value)) {
return range.span(entry.getValue().getKey());
}
return range;
}
代码示例来源:origin: org.jboss.eap/wildfly-client-all
/** Returns the range that spans the given range and entry, if the entry can be coalesced. */
private static <K extends Comparable, V> Range<K> coalesce(
Range<K> range, V value, @NullableDecl Entry<Cut<K>, RangeMapEntry<K, V>> entry) {
if (entry != null
&& entry.getValue().getKey().isConnected(range)
&& entry.getValue().getValue().equals(value)) {
return range.span(entry.getValue().getKey());
}
return range;
}
代码示例来源:origin: io.sphere/sphere-java-client
@Override public Range<Double> apply(@Nullable Range<Double> range) {
if (!range.hasUpperBound()) return range;
return range.span(Ranges.closed(range.upperEndpoint(), adjustDoubleForSearch(range.upperEndpoint())));
}
};
代码示例来源:origin: io.sphere/sphere-java-client
@Override public Range<Long> apply(@Nullable Range<Long> range) {
if (!range.hasUpperBound()) return range;
return range.span(Ranges.closed(range.upperEndpoint(), adjustLongForSearch(range.upperEndpoint())));
}
};
代码示例来源:origin: io.sphere/sphere-java-client
@Override public Range<DateTime> apply(@Nullable Range<DateTime> range) {
if (!range.hasUpperBound()) return range;
return range.span(Ranges.closed(range.upperEndpoint(), adjustDateTimeForSearch(range.upperEndpoint())));
}
};
代码示例来源:origin: com.google.guava/guava-tests
public void testSpanTwoRanges() {
for (Range<Integer> range1 : RANGES) {
for (Range<Integer> range2 : RANGES) {
if (!range1.isConnected(range2) || range1.intersection(range2).isEmpty()) {
RangeMap<Integer, Integer> rangemap =
ImmutableRangeMap.<Integer, Integer>builder().put(range1, 1).put(range2, 2).build();
assertEquals(range1.span(range2), rangemap.span());
}
}
}
}
内容来源于网络,如有侵权,请联系作者删除!