提问者:小点点

一种java数据结构,具有恒定的访问时间并允许重复


HashMap具有恒定的访问时间但不允许重复。ArrayList允许重复但没有恒定的访问时间。

java中有没有一种数据结构允许访问时间不变并且允许重复?

我知道我可以创建自己的允许重复的< code>HashMap,但是我想使用一个已经存在的数据结构。

提前感谢您。


共2个答案

匿名用户

数组列表#获取数组列表#集实际上是常量时间,以及其他一些函数。阅读文档,类文档的第二段:

大小、是空的、获取的、设置的、迭代器和列表迭代器操作在恒定时间内运行

您的下一个选项是多地图。这是一个以密钥/集合方式存储项目的映射。集合保存值,因此单个键映射到多个值。您可以查看Apache Common的多地图,看看他们是否有适合您的实现。或者,您始终可以创建自己的集合,只需将集合定义为值:

Map<String, List<String>> multimap;

匿名用户

您可以使用Eclipse集合中的Bag、Google Guava中的Multiset或Apache Commons集合中的Bag。Bag基本上是Map

所有三个库都有Multimaps。Multimap基本上是Map

注意:我是Eclipse集合的提交者