是飞白不是非白 2015-11-18 02:11 采纳率: 50%
浏览 1323
已采纳

java 新人求解 ,各位大牛们帮我说说原理啊

类名 NewsItem.java
public class NewsItem implements java.lang.Comparable{
..........
//时间降序 +点击量升序+标题降序
@Override
public int compareTo(NewsItem o) {
int result =0;
//比较 时间
result =-this.pubTime.compareTo(o.pubTime); //降序
if(0==result){ //时间相同
//点击量
result =this.hits-o.hits; //升序
if(0==result){ //点击量相同
//标题
result=-this.title.compareTo(o.title);//降序
}
}

    return result;
}
}


3.类NewsItemApp

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import com.bjsxt.sort.innerType.Utils;

/**

  • @author Administrator
    *
    */
    public class NewsItemApp {

    /**

    • @param args */ public static void main(String[] args) { List news=new ArrayList(); news.add(new NewsItem("美国后怕了,逃跑了悲剧了",50,new Date(System.currentTimeMillis()-1000*60*60))); news.add(new NewsItem("中国登上钓鱼岛了,全国欢呼了",100,new Date())); news.add(new NewsItem("小日本终于听话了,泪流满面笑了",60,new Date(System.currentTimeMillis()-1000*60*60))); Utils.sort(news); System.out.println("排序后"+news);

    }

}

大牛们给我解释下原理吧,,NewsItemApp类是怎么调用NewsItem的排序啊,我又没看到调用compareTo方法啊
  • 写回答

1条回答 默认 最新

  • 伊豚 2015-11-18 02:23
    关注

    Sort函数里面有调用的,你实现了Compareable接口,将list传入sort函数时排序里面会调用比较函数。不小心按了同问图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建