如何使用java中的哈希映射从.dat文件中检索数据

时间:2017-02-05 05:59:48

标签: java hashmap

我有一个ratings.dat文件。它包含5个字段。它们是用户ID,movieid,评级,年龄,moviename。 movieid是唯一的1到3450. userid 1到6400.评级为5。

  1. 我想将文件加载到哈希映射中,检查电影具有评级的条件> 3
  2. 用户观看的十大电影
  3. 我希望对前20部电影进行排序,条件是观看过至少20部电影的用户我想选择前20部电影。
  4. 我不应该使用SQL。我想要100%的Java代码。我到现在为止:在hashmap中读取文件并打印该文件的内容。

    import java.io.*;
    import java.util.*;
    
    public class Output{
    
      public static void main(String[] args) throws FileNotFoundException, IOException {
    
        HashMap< Integer, String > hash = new HashMap< Integer, String >();
        BufferedReader rd = new BufferedReader( new FileReader ("resources/ratings.dat"));
        String line = "::";
    
        int i = 0;
        while ((line = rd.readLine()) != null){
            hash.put(i, line);
            i++;
        }
        for ( int j = 0 ; j < hash.size() ; j++){ 
            System.out.println(hash.get(j));
        }
      }
    }
    

1 个答案:

答案 0 :(得分:0)

  • 创建一个代表电影的类,其中包含5个字段。
  • 迭代文件行并填写Movie对象列表。
  • 使用比较器或可比较的界面对电影对象列表进行排序。
  • 然后调用list.sort()。

  • 您可以使用Set或MAP等任何集合代替列表。

希望这有帮助。