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] . ...
随机推荐
- mysql和oracle分页
mysql分页 关键字limit,limit m,n 其中m表示起始位置的下标,下标从0开始.n表示要显示的条数,比如要查询一个表的第2到5条数据. ,; oracle分页 关键字rownum, ro ...
- 干货 | 国内互联网公司是如何做微服务实践的?(附PPT下载)
微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,并随着Netflix最佳实践的发布而为业界所知.如今,在国内有了大量的微服务实践案例,5月18日,网易云联合云 ...
- Linux 学习记录一(安装、基本文件操作).
Linux 名字的由来,是当时作者将初版的 Linux 发布在网上,供别人下载完善,而那个核心文件夹就叫 Linux,就这么叫着了.而为什么 Linux 的吉祥物是一只企鹅呢?是因为当时大家要发行稳定 ...
- Java连载40-参数传递、this关键字
一.对象和引用 1.对象:目前在使用new运算符在堆内存中开辟的内存空间成为对象. 2.引用:是一个变量,不一定是局部变量,好可能是成员变量,引用保存了内存地址,指向了堆内存中对象.所有访问实例的相关 ...
- 如何使用numpy实现一个全连接神经网络?(上)
全连接神经网络的概念我就不介绍了,对这个不是很了解的朋友,可以移步其他博主的关于神经网络的文章,这里只介绍我使用基本工具实现全连接神经网络的方法. 所用工具: numpy == 1.16.4 matp ...
- Newtonsoft.Json 指定某个属性使用特定的时间格式
Newtonsoft.Json 指定某个属性使用特定的时间格式 Intro Newtonsoft.Json 是 .NET 下最受欢迎 JSON 操作库,原为 JSON.Net 后改名为 Newtons ...
- .NET MVC5简介(二)
MVCApplication---Application_Statr--RegisterRoutes--给RouteCollection添加规则,请求进到网站---X----请求地址被路由按照顺序匹配 ...
- django6-orm进阶操作
1.创建django环境的脚本 在自定义脚本中操作orm ,但是自定义脚本中不具备django的环境 ###test.py 脚本,引入django的环境即可使用orm操作数据库import os if ...
- 剑指offer 20:顺时针打印矩阵
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...
- sourceTree3.2.6 跳过注册的方法(最新)
1.下载好之后会有这么一个界面要求你注册或登录.(不管它)将下面的一串串放进我的电脑的地址栏,打开sourcetree的文件夹 %LocalAppData%\Atlassian\SourceTree\ ...