黑马程序员技术交流社区

标题: 集合问题 [打印本页]

作者: 某某帅    时间: 2016-9-17 20:59
标题: 集合问题
2.分析以下需求,并用代码实现:       
        (1)定义一个TreeSet集合,然后存入6个Double类型的数据,分别是[1.1,5.2,6.3,2.5,5.2,3.3]
        (2)不去重,然后遍历输出(从大到小)


作者: 18088086590    时间: 2016-9-17 23:34
import java.util.Comparator; import java.util.TreeSet;  public class class_8 {          public static void main(String[] args) {                 TreeSet<Double> tr = new TreeSet<Double>(new Comparator<Double>() {                          public int compare(Double d1, Double d2) {                                 double num =  (d2-d1);                                 return (int) (num ==0? 1 : num);                         }                 });                                  tr.add(1.1);                 tr.add(5.2);                 tr.add(6.3);                 tr.add(2.5);                 tr.add(5.2);                 tr.add(3.3);                                  for (Double d : tr) {                         System.out.println(d);                 }         }  }
作者: 18088086590    时间: 2016-9-17 23:37

import java.util.Comparator;
import java.util.TreeSet;

public class class_8 {

        public static void main(String[] args) {
                TreeSet<Double> tr = new TreeSet<Double>(new Comparator<Double>() {

                        public int compare(Double d1, Double d2) {
                                double num =  (d2-d1);
                                return (int) (num ==0? 1 : num);
                        }
                });
               
                tr.add(1.1);
                tr.add(5.2);
                tr.add(6.3);
                tr.add(2.5);
                tr.add(5.2);
                tr.add(3.3);
               
                for (Double d : tr) {
                        System.out.println(d);
                }
        }

}
作者: 18088086590    时间: 2016-9-17 23:40
不用谢,哈哈哈
作者: 15835811325    时间: 2016-9-17 23:40
public static void main(String[] args) {
                TreeSet<Double> ts = new TreeSet<>(new Comparator<Double>() {

                        @Override
                        public int compare(Double o1, Double o2) {
                                int num =o2.compareTo(o1);
                                return num == 0?1:num;
                        }
                });
                ts.add(1.1);
                ts.add(5.2);
                ts.add(6.3);
                ts.add(2.5);
                ts.add(5.2);
                ts.add(3.3);
                        System.out.println(ts);
        }
}




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