guava(四)区间Ranges
一、构建区间
| (a..b) | open(C, C) |
| [a..b] | closed(C, C) |
| [a..b) | closedOpen(C, C) |
| (a..b] | openClosed(C, C) |
| (a..+∞) | greaterThan(C) |
| [a..+∞) | atLeast(C) |
| (-∞..b) | lessThan(C) |
| (-∞..b] | atMost(C) |
| (-∞..+∞) | all() |
| 有界区间 | range(C, BoundType, C, BoundType) |
| 无上界区间:((a..+∞) 或[a..+∞)) | downTo(C, BoundType) |
| 无下界区间:((-∞..b) 或(-∞..b]) | upTo(C, BoundType) |
二、区间运算
contains
Range.closed(1,10).contains(8) //true
三、查询运算
1、isEmpty() 是否为空区间
Range.closed(10,10).isEmpty() //true
2、hasLowerBound 是否含有下限
Range.closed(10,10).hasLowerBound() //true
3、hasUpperBound 是否含有上限
Range.greaterThan(10).hasUpperBound() //false
4、lowerBoundType 下边界类型,如果区间没有对应的边界,抛出IllegalStateException
Range.greaterThan(10).lowerBoundType() //OPEN
5、upperBoundType 上边界类型,如果区间没有对应的边界,抛出IllegalStateException
Range.closed(2,10).upperBoundType() //CLOSED
6、 lowerEndpoint 下限值,如果区间没有对应的边界,抛出IllegalStateException
Range.closed(2,10).lowerEndpoint() //2
7、upperEndpoint 上限值,如果区间没有对应的边界,抛出IllegalStateException
Range.closed(2,10).upperEndpoint() //上限值
四、关系运算
1、encloses 是否包含
Range.closed(2,10).encloses(Range.closed(3,3)) //true
2、isConnected 是否相连
Range.closed(2,10).isConnected(Range.closed(12,30))//false
3、intersection 交集 ,当且仅当两个区间是相连的,它们才有交集。如果两个区间没有交集,该方法将抛出IllegalArgumentException
Range.closed(2,10).intersection(Range.closed(8,13)) //[8,10]
4、span 并集
Range.closed(2,8).span(Range.closed(12,13))//[2,13]
guava(四)区间Ranges的更多相关文章
- [转载]Google Guava官方教程(中文版)
原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,武祖 校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] ...
- Guava学习-目录
备份一下地址: 目录 1. 基本工具 [Basic utilities] 让使用Java语言变得更舒适 1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服. ...
- Google Guava官方教程(中文版)
Google Guava官方教程(中文版) 原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,武祖 校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库, ...
- com.google.guava 包解析 ——Google Guava官方教程(中文版)
全网址 http://ifeve.com/google-guava/ 竹子博客: http://www.cnblogs.com/peida/archive/2013/06/08/ ...
- Google的Java经常使用类库 Guava
Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包括很多 Google 核心的 Java 经常使用库. 1. 基本工具 [Basic utilities] 让使用Java ...
- 初探Google Guava
Guava地址:https://github.com/google/guava 第一次接触我是在16年春github上,当时在找单机查缓存方法,google guava当初取名是因为JAVA的类库不好 ...
- Guava 1:概览
一.引言 都说java是开源的,但是除了JDK外,能坚持更新且被广泛认可的开源jar包实在是不可多得.其中最显眼的自然是guava了,背靠google自然底气十足,今天就来解开guava的面纱,初探一 ...
- Google Guava新手教程
以下资料整理自网络 一.Google Guava入门介绍 引言 Guavaproject包括了若干被Google的 Java项目广泛依赖 的核心库,比如:集合 [collections] . ...
- Google Guava官方教程
原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,*武祖 * 校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] . ...
随机推荐
- php-laravel框架用户验证(Auth)模块解析(一)
一.初始化 使用php artisan命令进行初始化:php artisan make:auth 和 php artisan migrate(该命令会生成users表.password_resets表 ...
- jvm 性能调优工具之 jstat
概述 Jstat是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建 ...
- RocketMQ(4)---RocketMQ核心配置讲解
RocketMQ核心配置讲解 RocketMQ的核心配置在broker.conf配置文件里,下面我们来分析下它. 一.broker.conf配置 下面只列举一些常用的核心配置讲解. 1.broker. ...
- Javase之多线程(2)
多线程(2) 线程的生命周期 新建:创建线程对象 就绪:有执行资格,没有执行权 运行:有资格运行,有执行权 阻塞:由一些操作让线程处于改状态.没有执行资格,没有执行权,而通过另一些操作激活它,激活 ...
- HTTP:Web的基础
一.HTTP:Web的基础 1.URI 每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了.服务器资源名称被称为统一资源标识符(URI) URI有两种形式,分别为URL和U ...
- Android开源日志框架xlog
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/144 xlog的优点 在开发过程中,避免不了要使用日志组件 ...
- Python格式化输出和深浅复制
字符串的四种拼接方法,常用格式化 deepcopy(深复制) bytes 和 bytearray 的基本用法 字符串拼接 使用 + 格式化字符串 使用join 用单引号内的字符来拼接,参数填一个整体 ...
- GoogLeNet结构
Inception v1 论文:<Going deeper with convolutions> 在较低的层(靠近输入的层)中,相关单元更侧重提取局部区域的信息.因此使用1x1的特征可以保 ...
- C++学习一 结构与结构体
结构体属于C++与C区别之一. 代码例子如下(来自<C++程序设计>): #include <iostream> #include <string> using n ...
- poppler
https://github.com/freedesktop/poppler http://www.openjpeg.org/ https://github.com/uclouvain/openjpe ...