【发布时间】:2019-09-19 05:09:51
【问题描述】:
所以,我有一个对象,里面有一个 hashmap(当然,还有相应的 getter 和 setter)。
public class ObjA {
private HashMap<String, Boolean> mymap;
...
}
然后,我有另一个类,其中包含这些对象(以及相应的 getter/setter)的列表:
public class ObjB {
private List<ObjA> list;
...
}
然后,第三类CheckerClass 需要检查ObjB 内部的列表中有多少ObjA 具有相同的映射(这意味着每个键具有相同的键和相同的值)。
我最初的想法是:循环list,并将每个ObjA 的映射解析为String。收集Collection 上的所有解析,然后计算重复项。但我想要一些更高效、更优雅的东西:你知道,易于阅读。而且我不确定如何获得它。
【问题讨论】:
-
(1) 只需声明
Map,而不是HashMap,特别是如果您想要进行大量检索(TreeMap)可能会更好。 (2)Map<T, Boolean>有一个更好的名字:Set<T>。 -
@chrylis 为什么你认为
TreeMap的性能可能比HashMap有很多检索?
标签: java memory collections hashmap