这是我的问题,我有两个数据结构一:countMark = new HashMap<Pair<String, String>, Integer>();
,另一个是反orderMark = new TreeMap<Integer, List<Pair<String, String>>>();
。我使用第二个快速找到最大值并根据一些规则选择一对。
但在我的代码中,我需要使用orderMark.containsKey(counter)
并且效率不高。当我增加计数器时,我还需要删除特定的对。因此,我必须这样做orderMark.get(count - 1).remove(key);
。
我的问题是我发现我可以使用Guava库中的MultiSet和MultiMap,但我没有找到有关添加,包含,删除和获取的数据结构的复杂性。我需要一个有序的地图,以选择具有最大值的对。
我希望这很清楚,并提前感谢您的答案。