Java的标准库中缺少任何类型的集合吗?

 时间:2024-11-03 13:16:05

1、Guava是一组库,最初由谷歌开发,用于自己的Java项目。它集中于集合、I/O和数学,以及与Apa艘早祓胂che Commons库的交叉。它可以被看作是数据结构的扩展,这些数据结构包含在Java Collections API中。

Java的标准库中缺少任何类型的集合吗?

2、Guava添加了一个名为Multiset的集合。它使您能够拥有一个允许多个相等元素的集合。Multiset类上的其他方法使您能够计算特定元素的数量,并将其转换为常规集合。

Java的标准库中缺少任何类型的集合吗?

3、与Collections库类似,存在多个多集实现,如HashMultiset、TreeMultiset和ConcurrentHashMultiset。

Java的标准库中缺少任何类型的集合吗?

4、下图显示了正在使用的Multiset。

Java的标准库中缺少任何类型的集合吗?

5、这将保存每个元素的总墙绅褡孛数。将Multiset看作是该元素与整数之间的映射,以保存计数,这是很有帮助的。虽然以这种方式实现多集的概念是完全可能的,但是Guava实现更强大,因为size方法返回元素计数,而Map实现返回惟一元素的数量。此外,映射上的迭代器只返回每个元素一次,而不管集合中有多少个元素。

6、多目标映射类似于多集映钻谑攉捅射——在映射中可以有多个键出现。当使用映射对键存储多个值时,常见的模式是存储从键到值列表或值集合的映射。然后,当您试图对某个特定键添加值时,经常会看到以下伪代码:

Java的标准库中缺少任何类型的集合吗?

7、这是脆弱的,容易出错,您还需要确保代码是线程安全的。Guava的 Multimap会帮你搞定的。

8、下图显示了它的使用示例。

Java的标准库中缺少任何类型的集合吗?

9、get方法不返回映射值类型的实例;它返回该类型的集合。

10、multiap与Java的Map接口有几个方面的不同。get方法从不返回null——当获取一个不存在的键时,将返回一个空集合。另一个区别是size方法返回条目的数量,而不是键的数量。

Java的标准库中缺少任何类型的集合吗?

11、与Multiset类似,您可以使用asMap方法将您的multiap转换为Java映射。返回Map<Key, Collection<Value>>。

12、guava提供的宛鳘艺荤另一种类型的map是BiMap接口。这提供了双向查找:键可以查找值,值也可以查找键。使用Java的Map实现这一点特别棘手;您亟冁雇乏需要保留两个映射,每个方向一个,并确保一个特定的值永远不会重复,无论它与哪个键相关联。

13、下图显示了一个将股票映射到公司名称的示例。

Java的标准库中缺少任何类型的集合吗?

14、inverse是对原始BiMap的引用,因此在原始创建的映射中添加的任何内容都会反映在反向映射中,反之亦然。

Java的标准库中缺少任何类型的集合吗?
  • Excel如何制作成绩点状线图
  • PPT幻灯片如何插入多种样式的标注图?
  • 如何在PPT中添加页眉页脚及页码编号
  • Excel表格如何插入黄色的椭圆形
  • PPT怎么插入页眉和页脚
  • 热门搜索
    三长两短是什么意思 欣赏的反义词是什么 送男生什么生日礼物比较好 洋溢是什么意思 互联网+是什么意思 歌吟的近义词是什么 移动硬盘有什么用 什么名字好听女生 家禽养殖 同房出血什么原因