A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package conm.heima.homeworker;

  2. import java.util.Comparator;
  3. import java.util.TreeSet;

  4. public class Test2 {
  5. /*
  6. *
  7.         2.分析以下需求,并用代码实现:       
  8.         (1)定义一个TreeSet集合,然后存入6个Double类型的数据,分别是[1.1,5.2,6.3,2.5,5.2,3.3]
  9.         (2)不去重,然后遍历输出(从大到小)       
  10. */
  11.         public static void main(String[] args) {
  12.                 TreeSet<Double> ts = new TreeSet<>(new Comparator<Double>() {

  13.                         @Override
  14.                         public int compare(Double d1, Double d2) {
  15.                                 double num = d2 - d1;
  16.                                 return (int)(num ==0.0 ? 1.0 :num);
  17.                         }
  18.                 });
  19.                 ts.add(1.1);
  20.                 ts.add(5.2);
  21.                 ts.add(6.3);
  22.                 ts.add(2.5);
  23.                 ts.add(5.2);
  24.                 ts.add(3.3);
  25.                 ts.add(2.5);
  26.                
  27.                 System.out.println(ts);
  28.                
  29.         }

  30. }
复制代码


2 个回复

倒序浏览
哪位大神有更好的方法,请跟帖!
回复 使用道具 举报
那个3.3好像存不进吧          return (int)(num<=0?1:-1);  那个重写的方法里面这样写 3.3 才可以存进去
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马