我有以下结构:
ArrayList<ArrayList<Movies>>
并且电影有重复项,我需要获取重复次数最多的 n 部电影。我一直在努力思考这个问题,但我想不出任何优雅的解决方案。
最佳答案
改成下面的
HashMap<Movie, Integer> map = new HashMap<Movie, Integer>();
// ArrayList<ArrayList<Movies>> listOfList = ...initialized
for (ArrayList<Movie> list : listOfList)
{
for (Movie movie : list)
{
if (map.containsKey(movie))
{
int count = map.get(movie);
map.put(movie, (count+1));
}
else
{
map.put(movie, 1);
}
}
}
确保您正确实现了 hashcode
和 equals
才能正常工作
关于java - 获取 ArrayList 中较高的重复次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16746730/