Guava Optional 类Optional 用于包含非空对象的不可变对象。 Optional对象,用于不存在值表示null。这个类有各种实用的方法,以方便代码来处理为可用或不可用,而不是检查null值。一、类声明以下是 com.google.common.base.Optional<T> 类的声明:@GwtCompatible(serializable = true)
publ...
6年前 (2019-02-26)
阅读(4375)
赞一个 (2 )
链接直达
Guava Objects 类Objects 类提供适用于所有对象,如 equals、hashCode 等辅助函数。在 Java7 之后提供了 Objects 类,Guava 逐步向 Java 自带的 Objects 替换。一、类声明以下是 com.google.common.base.Objects 类的声明:@GwtCompatible
public final clas...
6年前 (2019-02-26)
阅读(3147)
赞一个 (1 )
链接直达
Guava 前置条件 Preconditions 类Preconditions 提供静态方法来检查方法或构造函数,被调用是否给定适当的参数。它检查的先决条件。其方法失败抛出 IllegalArgumentException。可以简单理解为 guava 提供的 assert 断言。一、类声明以下是 com.google.common.base.Preconditions 类的声明:@GwtCompa...
6年前 (2019-02-26)
阅读(4078)
赞一个 (2 )
链接直达
Guava 强大的 Ordering 排序类排序器 Ordering 是 Guava流畅风格比较器 Comparator 的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。从实现上说,Ordering 实例就是一个特殊的 Comparator 实例。Ordering 把很多基于 Comparator 的静态方法(如 Collections.max)包装为自己的实例方法(非静态方...
6年前 (2019-02-26)
阅读(4464)
赞一个 (1 )
链接直达
Guava Range 类一、Range 简介Range 表示一个间隔或一个序列。它被用于获取一组数字/串在一个特定范围之内。可比较类型的区间API,包括连续和离散类型。Range 定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比如1到100之间的整型数据。在数学里面的范围是有边界和无边界之分的;同样,在Guava中也有这个说法。如果这个范围是有边界的,那么这个范围又可以分为包括...
6年前 (2019-02-26)
阅读(8768)
赞一个 (1 )
链接直达
Guava Throwables 类Throwable 类,简化异常和错误的传播与检查1、类声明以下是 com.google.common.base.Throwables 类的声明:@GwtCompatible(emulated=true)
public final class Throwables
extends Objec...
6年前 (2019-02-26)
阅读(4683)
赞一个 (0 )
链接直达
Guava StopWatch 计时器StopWatch 用来计算经过的时间(精确到纳秒)。这个类比调用 System.nanoTime() 优势在于:性能表现形式更丰富一、类声明以下是 com.google.common.base.Stopwatch 类的声明:@GwtCompatible(emulated=true)
public final class&nbs...
6年前 (2019-02-26)
阅读(13223)
赞一个 (0 )
链接直达
Guava 集合工具Guava引进了JDK里没有的,但是非常有用的一些新的集合类型。所有这些新集合类型都能和JDK里的集合平滑集成。本篇文章只是简单介绍到了很少一部分,还有很多子类需要逐步使用过程中去探索。一、Guava 新集合集合名称说明Multiset把重复的元素放入一个集合。Multimap一个 key 对应多个 value。BiMapkey 和 value 都不能重复。Table表代表一个特殊的图,其中两个键可以在组合的方式被指...
6年前 (2019-02-26)
阅读(2892)
赞一个 (0 )
链接直达
Multiset —— 把重复的元素放入集合一、接口声明以下是 com.google.common.collect.Multiset<E> 接口的声明:@GwtCompatible
public interface Multiset<E> extends Collection<E>二、接口方法官方文档:https://google.gith...
6年前 (2019-02-26)
阅读(3448)
赞一个 (0 )
链接直达
Bimap —— 双向关联的数据结构一、Bitmap 介绍在 Java 集合类库中有个 Map,它的特点是存放的键(Key)是唯一的,而值(Value)可以不唯一,如果我们需要键(Key)和值(Value)都唯一,该怎么实现?这就是今天要谈的BiMap结构,它允许我们可以通过特定的 value 获取 key 值。在过去,如果需要将Map结构中的键值对反转(也就是 key->value 转变成 valu...
6年前 (2019-02-26)
阅读(4163)
赞一个 (0 )
链接直达
Table 接口Table 代表一个特殊的映射,其中两个键可以在组合的方式被指定为单个值。它类似于创建映射的映射。通常来说,当你想使用多个键做索引的时候,你可能会用类似 Map<FirstName, Map<LastName, Person>> 的实现,这种方式很丑陋,使用上也不友好。Guava为此提供了新集合类型 Table,它有两个支持所有类型的键:”行”和”...
6年前 (2019-02-26)
阅读(8049)
赞一个 (0 )
链接直达
Guava RangeMap 类一、接口声明以下是 com.google.common.collect.Multiset<E> 接口的声明:@Beta
@GwtIncompatible
public interface RangeMap<K extends Comparable,V>实现类:ImmutableRangeMap, TreeRa...
6年前 (2019-02-26)
阅读(4533)
赞一个 (0 )
链接直达