范围类|番石榴|爪哇

番石榴的品种代表了一种 间隔 例如,a 端点 形成了边界。边界之间的任何值都是可比较类型的连续值范围。

null

宣言: 声明 通用域名格式。谷歌。常见的收集射程< C > 课程是:

@GwtCompatible
public final class Range<C extends Comparable>
   extends Object
      implements Predicate<C>, Serializable

范围的每一端可以是有界的,也可以是无界的。如果有界,则存在关联的端点值。如果不是,它将被视为无穷大。范围可以进一步定义为开放或封闭,这取决于该范围是否包含端点。

  • 开放式(a,b) :它表示a
  • 关闭(a,b) :它表示a<=范围<=b,并以符号形式表示[a,b]。
  • 开闭式(a,b) :它表示a
  • closedOpen(a,b) :它表示a<=范围
  • 大于(a) :它表示范围>a,并以符号形式表示(a..+inf)。
  • 至少(a,b) :它表示范围>=a,并以符号形式表示,[a..+inf)。
  • lessThan(a,b) :它表示范围
  • 大气(a,b) :它表示范围<=b,并以符号形式表示(-inf..b)。
  • 全部() :它表示-inf

以下是番石榴系列提供的一些方法: 图片[1]-范围类|番石榴|爪哇-yiteyi-C++库 注: 当两个端点都存在时,上端点不得小于下端点。只有当至少一个边界闭合时,端点才可能相等:

  • [a..a]:一个单一的范围。
  • [a..a)或(a..a]:空范围,也有效。
  • (a..a):无效,将引发异常。

番石榴的Range Class还提供了一些其他方法: 图片[2]-范围类|番石榴|爪哇-yiteyi-C++库 例外情况:

  • 打开: 非法数据异常 如果下限大于或等于上限。
  • 关闭: 非法数据异常 如果下限大于上限。
  • closedOpen: 非法数据异常 如果下限大于上限。
  • 打开关闭: 非法数据异常 如果下限大于上限。
  • 范围: 非法数据异常 如果下限大于上限。
  • 附件: 类别例外 如果参数不能相互比较, 非接触性异常 如果值为空, 空指针异常 如果任何值为空。
  • Lowerndpoint: 非法国家例外 如果该范围在下面是无界的(也就是说,hasLowerBound()返回false)。
  • lowerBoundType: 非法国家例外 如果该范围在下面是无界的(也就是说,hasLowerBound()返回false)。
  • 上端点: 非法国家例外 如果这个范围在上面是无界的(也就是说,hasUpperBound()返回false)。
  • 上限类型: 非法国家例外 如果这个范围在上面是无界的(也就是说,hasUpperBound()返回false)。
  • 交叉: 非法数据异常 如果isConnected(connectedRange)为false。

图片[3]-范围类|番石榴|爪哇-yiteyi-C++库 下面给出了一些例子,以更好地理解实施: 例1:

// Java code to show implementation
// of Range class of Guava
import com.google.common.collect.Range;
class GFG {
// Driver code
public static void main(String[] args)
{
// Taking range (1, 5)
// Note that here 1 and 5 are not included
Range<Integer> range = Range.open( 1 , 5 );
// Checking if range contains 1 or not
System.out.println(range.contains( 1 ));
// Checking if range contains 2 or not
System.out.println(range.contains( 2 ));
// Checking if range contains 3 or not
System.out.println(range.contains( 3 ));
// Checking if range contains 4 or not
System.out.println(range.contains( 4 ));
}
}


输出:

false
true
true
true

例2:

// Java code to show implementation
// of Range class of Guava
import com.google.common.collect.Range;
class GFG {
// Driver code
public static void main(String[] args)
{
// Taking range [1, 5]
// Note that here 1 and 5 are included
Range<Integer> range = Range.closed( 1 , 5 );
// Checking if range contains 1 or not
System.out.println(range.contains( 1 ));
// Checking if range contains 2 or not
System.out.println(range.contains( 2 ));
// Checking if range contains 3 or not
System.out.println(range.contains( 3 ));
// Checking if range contains 5 or not
System.out.println(range.contains( 5 ));
}
}


输出:

true
true
true
true

例3:

// Java code to show implementation
// of Range class of Guava
import com.google.common.collect.Range;
class GFG {
// Driver code
public static void main(String[] args)
{
// Taking range (2, +inf)
// Note that numbers less than equal to 2
// are not included
Range<Integer> range = Range.greaterThan( 2 );
// Checking if range contains 1 or not
System.out.println(range.contains( 1 ));
// Checking if range contains 2 or not
System.out.println(range.contains( 2 ));
// Checking if range contains 130 or not
System.out.println(range.contains( 130 ));
// Checking if range contains 500 or not
System.out.println(range.contains( 500 ));
}
}


输出:

false
false
true
true

例4:

// Java code to show implementation
// of Range class of Guava
import com.google.common.collect.Range;
class GFG {
// Driver code
public static void main(String[] args)
{
// Taking range (-inf, 2]
// Note that only numbers less than equal to 2
// are included
Range<Integer> range = Range.atMost( 2 );
// Checking if range contains 1 or not
System.out.println(range.contains( 1 ));
// Checking if range contains 2 or not
System.out.println(range.contains( 2 ));
// Checking if range contains -1 or not
System.out.println(range.contains(- 1 ));
// Checking if range contains 5 or not
System.out.println(range.contains( 5 ));
}
}


输出:

true
true
true
false
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享