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

没有问题

0
0

Java零基础入门与实战

Java零基础入门与实战 多场景|多案例|全栈项目

277 学习 · 220 问题

查看课程