谷歌Java开发工具包Guava之Collection扩展集合类

本文介绍了Guava集合中不可变集合和复合集合的概念及其应用场景。详细解释了Immutableadj.和Multipleadj.关键字的意义,并展示了ClassToInstanceMap等特殊集合类型的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章,从命名规则的方向作为起始点,主要解释两个关键字,让你对Guava的扩展集合类型有一个清晰的认识,因为Guava集合非常精准地遵循了JDK接口契约,所以当你认识了之后,就可以直接查看API文档进行使用

http://tool.oschina.net/apidocs/apidoc?api=guava


  • Immutable adj. 不变的;不可变的;不能变的

被Immutable作为前缀的为不可变的集合类型,即定义之后,不能再修改

  • Multiple adj. 多重的;多样的;许多的

被Multi作为前缀的集合类型,为复合集合类型,即字典类型允许value类型的多样性,列表类型允许key重复,并可以通过count(key)获取key存在的数量

  • ClassToInstanceMap

ClassToInstanceMap是一种特殊的Map:它的键是类型,而值是符合键所指类型的对象。

为了扩展Map接口,ClassToInstanceMap额外声明了两个方法:T getInstance(Class<T>) 和T putInstance(Class<T>, T),从而避免强制类型转换,同时保证了类型安全。

ImmutableSet 不可变

ImmutableSet的三种创建方式及在guava中的实现类

谷歌Java开发工具包Guava之Collection扩展集合类

谷歌Java开发工具包Guava之Collection扩展集合类

Multiple 复合集合类型

MultiSet的三种创建方式

谷歌Java开发工具包Guava之Collection扩展集合类

  • 应用场景:

谷歌Java开发工具包Guava之Collection扩展集合类

  • MultiMap的创建方式及实现类

谷歌Java开发工具包Guava之Collection扩展集合类

谷歌Java开发工具包Guava之Collection扩展集合类

谷歌Java开发工具包Guava之Collection扩展集合类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西魏陶渊明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值