Guava API学习之Range

 

      在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比 如1到100之间的整型数据。不过我们无法遍历出这个区间里面的值。如果需要达到这个目的,我们可以将这个范围传给 ContiguousSet.create(com.google.common.collect.Range, com.google.common.collect.DiscreteDomain).来达到遍历这个范围里面的值。
  我们知道,在数学里面的范围是有边界和无边界之分的;同样,在Guava中也有这个说法。如果这个范围是有边界的,那么这个范围又可以分为包括开集(不包括端点)和闭集(包括端点);如果是无解的可以用+∞表示。如果枚举的话,一共有九种范围表示:

Guava Range

 

Guava Range

上表中的功能函数那一栏表示Range类提供的函数,分别来表示九种可能出现的范围区间。如果区间两边都存在范围,在这种情况下,区间右边的数不可能比区间左边的数小。在极端情况下,区间两边的数是相等的,但前提条件是最少有一个边界是闭集的,否则是不成立的。比如:

 

[a..a] : 里面只有一个数a;
[a..a); (a..a] : 空的区间范围,但是是有效的;
(a..a) : 这种情况是无效的,构造这样的Range将会抛出异常。

 在使用Range时需要注意:

 

 

  1. 在构造区间时,尽量使用不可改变的类型。如果你需要使用可变的类型,在区间类型构造完成的情况下,请不要改变区间两边的数;
  2. 一个实现了Comparable接口的类传进Range将会发生未定义的情况;目前Range API还没有阻止这种用法,但是未来可能会改变。
Guava是一个非常受欢迎的Java库,它提供了许多实用的API和工具,用于增强Java编程体验和性能。Guava API文档提供了对所有Guava功能和类的详细说明。 在Guava API文档中,你可以找到大量有关Guava库的信息。首先,你会发现一个全面的类和接口索引,它列出了每个Guava类的概述和用法。通过这个索引,你可以方便地找到你需要的特定功能。 接着,对于每个类和接口,文档提供了更详细的解释。它描述了该类的用途、主要方法和示例代码。这对于初次接触Guava的开发者来说非常有帮助,因为他们可以了解如何正确地使用Guava的各种功能。 此外,API文档还提供了Guava的功能性组件的概述。例如,你可以找到Collections、Strings、Files、Caches、Events等功能的专门章节。这些章节详细介绍了这些组件的主要功能和特性,并提供了示例代码和用例。 最后,API文档还提供了一些额外的资源,比如指南和教程,以及社区支持和其他相关资源的链接。这些资源可以帮助你深入了解Guava,并解决在使用Guava过程中可能遇到的问题。 总之,Guava API文档是使用Guava的开发者不可或缺的参考。它提供了对Guava库功能的全面了解,帮助开发者快速学习和正确使用Guava的各种功能和工具。无论你是初学者还是有经验的开发者,Guava API文档都将成为你学习和使用Guava的宝贵资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值