黑马程序员技术交流社区

标题: 定义一个TreeSet集合,然后存入6个Double类型的数据,排序不... [打印本页]

作者: 星空@3    时间: 2016-6-23 21:03
标题: 定义一个TreeSet集合,然后存入6个Double类型的数据,排序不...
  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. }
复制代码



作者: 星空@3    时间: 2016-6-23 21:11
哪位大神有更好的方法,请跟帖!
作者: 懵懵懂懂.JAVAEE    时间: 2019-1-23 13:51
那个3.3好像存不进吧          return (int)(num<=0?1:-1);  那个重写的方法里面这样写 3.3 才可以存进去




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2