Table - 双键Map 在Java标准库中,Map仅允许一个键对应一个值。Guava的Table类则允许一个值对应两个键,即行键和列键。这为处理一些特殊场景提供了便利。例如,记录员工每个月工作的天数,使用Table可轻松实现。对比Java标准库中使用双层Map的方式,Guava中的Table则简化为一层,大大降低了代码复杂度。
与传统的Map不同,Table允许用两个键(rowKey和columnKey)来映射一个值,这在处理类似员工工作天数等二维数据时显得尤为简洁。通过这种设计,开发者无需构建复杂的嵌套结构,简化了数据管理的复杂性。例如,使用Table,开发者可以轻松地记录并检索员工每月的工作天数,省去繁琐的数据结构定义,显著提升编码效率。 此外,Guava还...
(1).增强java集合功能 Guava库向我们提供了一些更加丰富的集合类,比如诸如ImmutableSet、ImmutableList、ImmutableSortedSet、ImmutableMap以及更为泛化和强大的Multiset(可以存储相同元素的集合)、BiMap(可以将两个键映射到一个值)、Table(可以将一个键映射到另一个键的值)等。 (2).字符串处理 Guava库提供了Joiner和S...
这对于需要确保数据一致性和线程安全的场景非常有用。 ImmutableTable、ImmutableEnumSet 和 ImmutableEnumMap 在Guava并没有直接提供这些具体的实现。在实际使用中,你应该根据具体的需求选择合适的不可变集合类型,并结合 Java 标准库和 Guava 提供的工具来创建和操作这些集合 4.ImmutableSortedSet 和 ImmutableSortedMap ...
堪比Multimaps.newXXXMultimap(Map, Supplier)工具方法,Tables.newCustomTable(Map, Supplier<Map>)允许你指定Table用什么样的map实现行和列。 1// 使用LinkedHashMaps替代HashMaps 2Table<String, Character, Integer> table = Tables.newCustomTable(
Guava 是Java的工具集,提供了一些常用的便利的操作工具类,减少因为 空指针、异步操作等引起的问题BUG,提高开发效率。 本文主要介绍了Guava常用的工具方法,快速入门Guava。 1、基本工具(Base utils)# 1. Optional# null 值出现在代码中,有如下缺点: 语义模糊,引起歧义。例如,Map.get(key)返回Null时,可能表示map中...
3.2.5 Table 3.2.6 ClassToInstanceMap ClassToInstanceMap 是一种特殊的 Map:它的键是类型,而值是符合键所指类型的对象。 为了扩展 Map 接口,ClassToInstanceMap 额外声明了两个方法:T getInstance(Class) 和 T putInstance(Class, T),从而避免强制类型转换,同时保证了类型安全。 ClassToInstanceMap 有唯一的泛...
任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法。Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法。这是Guava最流行和成熟的部分之一。 静态工方法 Person: /* * @ProjectName: 编程学习 * @Copyright: 2018 HangZhou Yiyuery Dev., Ltd. All Right Reserved....
google guava集合之Table 在guava库中还提供了一种二维表结构:Table。使用Table可以实现二维矩阵的数据结构,可以是稀溜矩阵。 我们看一个使用示例: 1publicclassTableDemo {2publicstaticvoidmain(String[] args) {3Table<Integer, Integer, String> table =...
除了上面提到的方法,FluentIterable还有一些便利方法用来把自己拷贝到不可变集合 ImmutableList 2.4、工具类-LIsts、Sets、Maps Lists Sets 集合理论方法 我们提供了很多标准的集合运算(Set-Theoretic)方法,这些方法接受Set参数并返回SetView,可用于: 直接当作Set使用,因为SetView也实现了Set接口; ...