java - 获取 ArrayList 中较高的重复次数

标签 java oop arraylist

我有以下结构:

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);
      }
   }
}

确保您正确实现了 hashcodeequals 才能正常工作

关于java - 获取 ArrayList 中较高的重复次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16746730/

相关文章:

java - 按下按钮后尝试绘画

java - 在 Java 中搜索集合

c++ - 将类函数与其实际功能分开声明有什么好处?

java - 设计一个简单的文件管理器

java - Arraylist 删除重名并修改另一个 arraylist

Java Mail 找不到类 MimeMessage

java - Apache POI 未在 Excel 中为每一列呈现输出

c++ - 指向动态数组的指针数组 : how to access without variable name

java - 尝试使用递归将文件中的单词添加到数组列表中

java - 使用 arraylist 和 foreach 时如何避免内存泄漏?