区间 -- 1




概述jdk 为我们提供了各式各样的容器,用来解决不同场景下的集合问题,但很多时候,我们需要维护的集合是连续跨度的范围,甚至是多段范围跨度的交集、并集,jdk 的容器就很难去支持了Guava 提供了 Range 类型,用来定义连续跨度的范围边界,并且这个连续跨度是一个可以比较的类型在此基础上,Guava 还提供了 RangeSet、RangeMap 实现多段范围边界集合的维护,在例如营业时间、允许的范围区间等问题的处理上,提供了前所未有的方便性一个 Range 对象定义了一段区间,对于一个区间,数学上有开区间和闭区间的区分,Range 的创建方法同样提供了对应的构造方式: 区间的创建Range 对象创建方法区间创建方法(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.closed("left", "right"); //字典序
#java    #range    #集合    #guava   



京ICP备15018585号