![
](https://img-blog.csdnimg.cn/8caf302a957e492abbb5463c17f525b1.png)
public class News implements Comparable {
private String title;
private int count;
public News() {
}
public News(String title, int count) {
this.title = title;
this.count = count;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public String toString() {
return "News{" +
"title='" + title + '\'' +
", count=" + count +
'}';
}
@Override
public int compareTo(News news) {
return 0;
}
}
public static void main(String[] args) {
//创建Treeset 集合存储新闻对象
TreeSet news = new TreeSet<>(new Comparator() {
@Override
public int compare(News O1, News O2) {
//根据热度排序
int result = O1.getCount()- O2.getCount();
//还得根据名字排序
return result;
}
});
Scanner sc = new Scanner(System.in);
news.add(new News(“备孕者可以接种新冠疫苗”, 480));
news.add(new News(“土耳其召见中国大使 中方回应”, 463));
news.add(new News(“日本大阪将取消奥运火炬传递活动”, 447));
news.add(new News(“杀人犯纸面服刑15年 84人担责”, 431));
news.add(new News(“好利来辟谣卷入西藏冒险王事件”, 416));
news.add(new News(“湖北全球特别推介活动4月12日亮相”, 402));
news.add(new News(“2名中国矿工在尼日利亚遭绑架”, 388));
news.add(new News(“一季度北京平均月薪达11187元”, 374));
news.add(new News(“巴西侨领张伟遭枪击遇害”, 361));
news.add(new News(“浦东车管所称特斯拉目前上牌正常”, 348));
news.add(new News(“马云回国”, 498));
news.add(new News(“马云谈论charGTP”, 400));
news.add(new News(“结婚三年外遇”, 219));
news.add(new News(“java程序员月薪二万”, 410));
news.add(new News(“6G马上到来,程序员有了新挑战”, 390));
//遍历结合
while (true) {
int c=0;
System.out.println("=============百度热搜================");
for (News news1 : news) {
c++;
if(c<=10){
System.out.println(news1);
}
}
//System.out.println(news1.getTitle()+"\t"+news1.getCount());
System.out.println("请选择需要查看的新闻");
String title = sc.next();
//如果Treset集合中的对象的属性修改了,但是地址值没有修改 不会重新排序
//什么时候排序,在add的时候才会排序。先删除后添加
for (News news1 : news) {
if (news1.getTitle().equals(title)) {
System.out.println("请选择你要执行的操作:1.点赞,2.评论.3.收藏");
int i = Integer.parseInt(sc.next());
if (i == 1) { //添加3分
//删除原来老对象
news.remove(news1);
//创建一个新对象存储到集合中
News n = new News(news1.getTitle(), news1.getCount() + 3);
news.add(n);
break;
} else if (i == 2) {//添加5分
//1.删除原来老对象
news.remove(news1);
//创建一个新对象放到集合中
News n = new News(news1.getTitle(), news1.getCount() + 5);
news.add(n);
break;
} else if (i == 3) {//添加8分
//删除原来对象
news.remove(news1);
//创建一个新对象放到集合中
News n = new News(news1.getTitle(), news1.getCount() + 8);
news.add(n);
break;
}
}