gpt4 book ai didi

java - 根据出现频率排列列表的元素(具有重复元素)

转载 作者:搜寻专家 更新时间:2023-11-01 01:18:54 24 4
gpt4 key购买 nike

根据元素在列表中出现的频率排列列表元素(具有重复元素)的好方法是什么。

我需要使用列表中出现频率最高的前 5 项。

我正在考虑使用 HashMap 来计算元素的频率,方法是在每次元素出现时递增相应的计数器,然后进行 5 次 HashMap 迭代以找到最高频率。每次迭代的元素。

最佳答案

这种方法怎么样?

维护一个包含计数的映射

public static Map  <Foo,Integer>;

class Foo implements Comparator<Foo>{  
private Bar element;


public int compare(Foo f1, Foo f2){
return SomeClass.map.get(f1) - SomeClass.map.get(f2);
}

}

只需在 list 中更新 map 即可。

使用 addFooToList()removeFooFromList() 强制包装对 List 的访问,并在那里封装 map 更新逻辑。

关于java - 根据出现频率排列列表的元素(具有重复元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989758/

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