- [자료 구조] 9. List 인터페이스 활용 : 영화 평점 관리 시스템 예제 만들기2024년 05월 09일
- Song hyun
- 작성자
- 2024.05.09.:37
728x90반응형[자료 구조] 9. List 인터페이스 활용 : 영화 평점 관리 시스템 예제 만들기
상황 설명
: 사용자가 영화에 평점을 주고, 평점에 따라 영화 추천 목록을 관리하는 시스템입니다.
사용자는 영화에 1부터 5까지의 평점을 줄 수 있으며, 평점이 높은 영화부터 낮은 순으로 정렬하여 보여줍니다package Structure.ch05; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class MovieRatingSystem { public static void main(String[] args) { // Movie Object 계속 추가하는 자료 구조 ArrayList<Movie> movies = new ArrayList<Movie>(); movies.add(new Movie("범죄도시 4",2)); movies.add(new Movie("기생충",4)); movies.add(new Movie("택시 드라이버",3)); movies.add(new Movie("인턴",5)); // for-each 구문 사용 System.out.println(movies); for (Movie movie : movies) { System.out.println(movie.getTitle()); } for(int i=0; i<movies.size(); i++) { System.out.println(movies.get(i).getTitle()); } // 어떤 데이터를 정렬을 하려면 정렬 알고리즘을 구현해서 // 만들어주면 된다. // like 버블 정렬, 퀵 정렬 ... Collections.sort(movies,new Comparator<Movie>() { @Override public int compare(Movie m1, Movie m2) { // TODO Auto-generated method stub 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; } // toString 오버라이딩 @Override public String toString() { return "Movie [title=" + title + ", rating=" + rating + "]"; } // getter 메서드 생성 (이름, 평점) public String getTitle() { return title; } public int getRating() { return rating; } }
728x90반응형'자료 구조 > 기본 개념' 카테고리의 다른 글
[자료 구조] 11. Set 인터페이스 예제 : 고유 사용자 ID 관리 시스템 (0) 2024.05.10 [자료 구조] 10. Set 인터페이스 (0) 2024.05.10 [자료 구조] 8. List 인터페이스 (0) 2024.05.09 [자료 구조] 7. 컬렉션 프레임 워크 (0) 2024.05.09 [자료 구조] 6. 연결 리스트 (0) 2024.05.08 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)