fork download
  1. import java.io.IOException;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.Comparator;
  5. import java.util.List;
  6.  
  7. public class Main {
  8. public static void main(String[] args) throws IOException {
  9. List<Film> films = new ArrayList<>();
  10.  
  11. films.add(new Film().setRating(1));
  12. films.add(new Film().setRating(2.5));
  13. films.add(new Film().setRating(3.5));
  14. films.add(new Film().setRating(4));
  15. films.add(new Film().setRating(5));
  16. films.add(new Film().setRating(1));
  17. films.add(new Film().setRating(2));
  18. films.add(new Film().setRating(3));
  19. films.add(new Film().setRating(4));
  20. Collections.sort(films, new Comparator<Film>() {
  21. @Override
  22. public int compare(Film o1, Film o2) {
  23. final double film1 = o1.getRating();
  24. final double film2 = o2.getRating();
  25. return film1 > film2 ? 1
  26. : film1 < film2 ? -1 : 0;
  27. }
  28. });
  29. for (Film film : films) {
  30. System.out.println(film);
  31. }
  32. }
  33. }
  34.  
  35. class Film {
  36. double rating;
  37.  
  38. public double getRating() {
  39. return rating;
  40. }
  41.  
  42. public Film setRating(double rating) {
  43. this.rating = rating;
  44. return this;
  45. }
  46.  
  47. @Override
  48. public String toString() {
  49. return "Film{" +
  50. "rating=" + rating +
  51. '}';
  52. }
  53. }
  54.  
Success #stdin #stdout 0.07s 380224KB
stdin
Standard input is empty
stdout
Film{rating=1.0}
Film{rating=1.0}
Film{rating=2.0}
Film{rating=2.5}
Film{rating=3.0}
Film{rating=3.5}
Film{rating=4.0}
Film{rating=4.0}
Film{rating=5.0}