gpt4 book ai didi

java - 通过减少值迭代 GNU Trove TObjectIntHashMap 的推荐方法是什么?

转载 作者:行者123 更新时间:2023-11-30 08:24:23 25 4
gpt4 key购买 nike

GNU Trove/trove4j TObjectIntHashMap 非常适合计算字符串出现次数:

TObjectIntHashMap<Integer> map = new TObjectIntHashMap<>();
map.adjustOrPutValue(string, 1, 1);

现在一个常见的任务是询问具有最高计数的字符串或通过递减计数进行迭代。你会怎么做?

谢谢,马塞尔

最佳答案

TObjectIntHashMap 中对此没有特殊操作。要获取具有最大值的条目,请遍历所有条目:

class GetMaxEntry implements TObjectIntProcedure {
Object key;
int value = Integer.MIN_VALUE;
public boolean execute(Object k, int v) {
if (v >= value) {
key = k;
value = v;
}
return true;
}
}
GetMaxEntry getMaxEntry = new GetMaxEntry();
map.forEachEntry(getMaxEntry);
//process(getMaxEntry.key, getMaxEntry.value);

要通过减少计数进行迭代,您唯一可以做的就是将条目转储到集合或数组中,例如 AbstractMap.SimpleImmutableEntry(或具有原始值字段的特殊 Entry 类),使用相同的 forEachEntry 操作,然后使用自定义 ComparatorCollections.sort()Arrays.sort() 排序.

关于java - 通过减少值迭代 GNU Trove TObjectIntHashMap 的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22961673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com