У меня есть файл ratings.dat
. Он содержит 5 полей. Это userid, movieid, рейтинг, возраст, moviename. movieid уникален 1 до 3450. Идентификатор_пользователя 1 до 6400. рейтинга дается из 5.как извлекать данные из .dat-файла, используя хэш-карту только в java
- Я хочу, чтобы загрузить файл в хэш-карту, проверьте наличие условий, является фильм, имеющие рейтинги> 3
- Топ 10 просмотренных пользователями
- Я хочу отсортировать 20 лучших фильмов по условию, что пользователи, просмотревшие как минимум 20 фильмов, я хочу выбрать 20 лучших фильмов.
Я не должен использовать 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));
}
}
}
Пожалуйста, попробуйте что-то само собой, чтобы потерпеть неудачу и учиться. Вы только что выполнили половину своего задания и, вероятно, перейдете на другую половину. Попытка однажды - это то, что я бы предложил. – nullpointer
Есть ли какая-то особая причина, почему вы хотите использовать «HashMap»? Спросить, потому что для меня это не похоже на лучший выбор. –
Поскольку я не знаю формат строк вашего файла .dat, я не знаю, как определить, имеет ли фильм рейтинг> 3.2. Хуже того, 5 полей, похоже, не содержат данных, необходимых для поиска 10 лучших фильмов, просмотренных пользователями. Боюсь, вы спрашиваете о невозможности. –