3、将电影添加到集合中,并遍历集合,请老师检查,感谢!
来源:14-17 测评作业

mottoyin
2025-02-19
MovieDB类
package com.imooc.chapter14test;
public class MovieDB {
private String name;//电影名称
private String releaseDate;//上映年份
private float doubanScore; //豆瓣评分
public MovieDB() {
}
public MovieDB(String name, String releaseDate, float doubanScore) {
this.name = name;
this.releaseDate = releaseDate;
this.doubanScore = doubanScore;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getReleaseDate() {
return releaseDate;
}
public void setReleaseDate(String releaseDate) {
this.releaseDate = releaseDate;
}
public float getDoubanScore() {
return doubanScore;
}
public void setDoubanScore(float doubanScore) {
this.doubanScore = doubanScore;
}
@Override
public String toString() {
return "MovieDB{" +
"name='" + name + '\'' +
", releaseDate='" + releaseDate + '\'' +
", doubanScore=" + doubanScore +
'}';
}
}
测试类
package com.imooc.chapter14test;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
public class MovieSetTest {
public static void main(String[] args) {
//定义电影Set集合
Set<MovieDB> movieSet = new TreeSet<>(new Comparator<MovieDB>() {
@Override //通过匿名内部类实现Comparator接口并作为参数传给movieSet
public int compare(MovieDB o1, MovieDB o2) {
//按豆瓣评分从高到低排序
float result = o2.getDoubanScore()-o1.getDoubanScore();
if (result > 0){
return 1;
}else if(result < 0){
return -1;
}else{
//如果豆瓣分数相同,则按照上映年份进行降序排序
return o2.getReleaseDate().compareTo(o1.getReleaseDate());
}
}
});
MovieDB movie1 = new MovieDB("肖申克的救赎","1994",9.7f);
MovieDB movie2 = new MovieDB("阿甘正传","1994",9.5f);
MovieDB movie3 = new MovieDB("千与千寻","2001",9.4f);
MovieDB movie4 = new MovieDB("星际穿越","2014",9.4f);
MovieDB movie5 = new MovieDB("楚门的世界","1998",9.4f);
MovieDB movie6 = new MovieDB("放牛班的春天","2004",9.3f);
MovieDB movie7 = new MovieDB("当幸福来敲门","2006",9.2f);
movieSet.add(movie1);
movieSet.add(movie2);
movieSet.add(movie3);
movieSet.add(movie4);
movieSet.add(movie5);
movieSet.add(movie6);
movieSet.add(movie7);
for (MovieDB item:
movieSet) {
System.out.println("电影名称: " + item.getName() + ",上映年份: " + item.getReleaseDate() + ",豆瓣评分: "+item.getDoubanScore());
}
}
}
写回答
1回答
-
彭彭老师
2025-02-20
没有问题
00
相似问题