gpt4 book ai didi

java - 从JAVA中的hashmap中删除最小的k个元素

转载 作者:行者123 更新时间:2023-12-02 00:26:07 24 4
gpt4 key购买 nike

我有一个对象的 HashMap 。每个对象都有两个属性(例如 int length 和 int Weight)。我想删除长度最小的 k 个元素。执行此操作的有效方法是什么?

最佳答案

Map<K, V> map = new HashMap<>();

...

Set<K> keys = map.keySet();
TreeSet<K> smallest = new TreeSet<>(new Comparator<K>(){
public int compare(K o1, K o2) {
return o1.getLength() - o2.getLength();
}
});
smallest.addAll(keys);
for(int x = 0; x < num; x++) {
keys.remove(smallest.pollFirst());
}

其中 K 是您的键类型,V 是您的值类型,num 是您要删除的元素数量。

如果您经常这样做,那么使用TreeMap可能是个好主意。首先。

关于java - 从JAVA中的hashmap中删除最小的k个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10013723/

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