Skip to content

Commit cd3c6b9

Browse files
committed
Week4. getAverageRatingsByFilter
1 parent e5d121c commit cd3c6b9

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

Week4/src/FourthRatings.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import java.util.ArrayList;
2+
import java.util.Collections;
23

34
/**
45
* The week 4 class
@@ -21,4 +22,32 @@ private Double getAverageByID(String movieID, Integer minimalRaters) {
2122
}
2223
return 0.0;
2324
}
25+
26+
private ArrayList<Rating> getAverageRatings(int minimalRaters) {
27+
ArrayList<Rating> list = new ArrayList<>();
28+
ArrayList<String> allMoviesIDs = MovieDatabase.filterBy(new TrueFilter());
29+
for (String movieID : allMoviesIDs) {
30+
double averageRating = getAverageByID(movieID, minimalRaters);
31+
if (averageRating != 0.0) {
32+
list.add(new Rating(movieID, averageRating));
33+
}
34+
}
35+
return list;
36+
}
37+
38+
private ArrayList<Rating> getAverageRatingsByFilter(
39+
Integer minimalRaters, Filter filterCriteria) {
40+
ArrayList<Rating> ratingsList = new ArrayList<>();
41+
ArrayList<String> allMoviesIDs = MovieDatabase.filterBy(filterCriteria);
42+
Rating rating;
43+
for (String movie_id : allMoviesIDs) {
44+
if (getAverageByID(movie_id, minimalRaters) != 0) {
45+
rating = new Rating(movie_id, getAverageByID(movie_id, minimalRaters));
46+
ratingsList.add(rating);
47+
}
48+
}
49+
50+
Collections.sort(ratingsList);
51+
return ratingsList;
52+
}
2453
}

0 commit comments

Comments
 (0)