예제 개념: 영화 평점 관리 시스템
상황 설명: 사용자가 영화에 평점을 주고, 평점에 따라 영화 추천 목록을 관리하는 시스템입니다. 사용자는 영화에 1부터 5까지의 평점을 줄 수 있으며, 평점이 높은 영화부터 낮은 순으로 정렬하여 보여줍니다.
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
public class MovieRayiongSystem {
public static void main(String[] args) {
// Movie object 계속 추가하는 자료구조
ArrayList<Movie> movies = new ArrayList<Movie>();
movies.add(new Movie("범죄도시 4", 5));
movies.add(new Movie("기생충", 4));
movies.add(new Movie("올드보이", 5));
movies.add(new Movie("인생은아름다워", 3));
System.out.println(movies);
for (Movie movie : movies) {
System.out.println(movie.getTitle());
}
System.out.println("----------------------");
for (int i = 0; i < movies.size(); i++) {
// 배열이 아님 -> get() 메서드 사용
System.out.println(movies.get(i).getTitle());
}
// 어떤 데이터를 정렬을 하려면 정렬 알고리즘을 구현해서 기능을 만들어 주면 된다.
// 버블 정렬, 퀵, ......
Collections.sort(movies, new Comparator<Movie>() {
@Override
public int compare(Movie m1, Movie m2) {
return Integer.compare(m2.getRating(), m1.getRating());
}
});
System.out.println("---------------------");
// 평점 순으로 정렬된 영화 목록 출력
for (Movie movie : movies) {
System.out.println(movie);
}
} // end of main
}// end of class
class Movie{
private String title;
private int rating;
public Movie(String title, int rating) {
this.title = title;
this.rating = rating;
}
public String getTitle() {
return title;
}
public int getRating() {
return rating;
}
@Override
public String toString() {
return "Movie [title=" + title + ", rating=" + rating + "]";
}
}
실행 화면________
'JAVA' 카테고리의 다른 글
[JAVA] 파일복사(문자기반 입/출력), ZIP파일로 압축 (0) | 2024.05.21 |
---|---|
[JAVA] 도전! - 회원 가입 순서 기록 및 조회 시스템 (0) | 2024.05.16 |
간단한 RPG 게임 만들기 (기초단계1 --> 코드 완성X) (0) | 2024.04.16 |
[JAVA] 형 변환 문제 (할인율) (0) | 2024.04.16 |
[JAVA]Java 키워드 (0) | 2024.04.16 |