Guava中Range和Cut简介
来源:互联网 发布:工程预算软件有哪些 编辑:程序博客网 时间:2024/05/29 18:25
Guava中用Range类表示区间,Range中的两个端点是Cut类实例,形如:
public final class Range <C extends java.lang.Comparable> implements com.google.common.base.Predicate<C>, java.io.Serializable { ...//其他数据 final com.google.common.collect.Cut<C> lowerBound; final com.google.common.collect.Cut<C> upperBound; ...//其他方法}
对于Range来说,对应数学上几种类型的区间:
需要注意的是,Range的构造函数为private,除了用以上方式创建,还可以显示指定两端的包含情况,使用:
BoundType是枚举类型,定义了OPEN和CLOSED,代码如下:
public enum BoundType { OPEN { BoundType flip() { return CLOSED; } }, CLOSED { BoundType flip() { return OPEN; } }; private BoundType() { } static BoundType forBoolean(boolean inclusive) { return inclusive?CLOSED:OPEN; } abstract BoundType flip();}
Range实例可以通过lowerBoundType()和upperBoundType()方法获得两端的BoundType。
Range类中比较有用的几个方法
Cut是一个抽象类
abstract class Cut<C extends Comparable> implements Comparable<Cut<C>>, Serializable { final C endpoint; ...//其他东西}
内部只保存一个端点数据。在Cut内部有四个内部类,要拿到实例只能返回几个继承Cut的内部类(private static final class),分别表示普通的 BelowValue,AboveValue,BelowAll,AboveAll,其中后两个在内部还各有一个 static final 的 INSTANCE,用来表示最高(低),反正是最,只需要一个。这些类实现 Cut 的虚函数。
参考链接:
[1]http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Range.html
[2]https://code.google.com/p/guava-libraries/wiki/RangesExplained
0 0
- Guava中Range和Cut简介
- Guava中RangeMap自定义range区间
- shell中cut用法简介
- shell中cut用法简介
- Guava学习之Range
- Guava学习笔记:Range
- Guava学习笔记:Range
- Guava ---- Range范围过滤
- Guava collections -- Range
- Guava学习笔记:Range
- Guava学习笔记:Range
- Guava学习笔记:Range
- Guava简介
- Guava简介
- guava中Range的使用方法(com.google.common.collect.Range)
- python range 和 enumerate 简介示例
- Guava中EventBus的使用和详解
- Guava中Splitter和Joiner的用法
- 求白色三角形的最大面积 Triangles
- java中关于this与super那点事
- Remove Duplicates from Sorted List II
- LeetCode236:Lowest Common Ancestor of a Binary Tree
- Ten Ways to Check if an Integer Is a Power Of Two in C
- Guava中Range和Cut简介
- findViewById返回Null
- 2、C语言register关键字—最快的关键字
- HDU 1025 Constructing Roads (最长上升子序列O(n*logn)算法)
- display:none与visible:hidden的区别
- Node.js笔记(九)Nodejs与shell
- 解决开启Eclipse时在Loading workbench状态卡住问题
- orachk现在软件里面都已经内置了
- HDOJ 2674 N!Again(同余定理)