题解 | #明明的随机数#

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

import java.io.*;
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            String s = br.readLine();
            int i = Integer.parseInt(s);
            //int[] array = new int[i];不能用基础类型,array转set后,set存的是数组的引用,set转list也是存的数组的引用;
            Integer[] array = new Integer[i];
            while (i!=0){
                array[--i] = Integer.parseInt(br.readLine());
            }
            //方式一
            Set<Integer> set = new HashSet(Arrays.asList(array));
           // TreeSet<Object> ts = new TreeSet<>(set);
            // ArrayList<Integer> list = new ArrayList(set);
            // Collections.sort(list, new Comparator<Integer>() {
            //     @Override
            //     public int compare(Integer o1, Integer o2) {
            //         return o1-o2;
            //     }
            // });
            // for (Integer x : list) {
            //     System.out.println(x);
            // }
         //方式二
            // Integer[] a2 =  set.toArray(new Integer[0]);//括号中的参数实际上传的是数组地址
            // //Arrays.sort(a2, Collections.reverseOrder());
            // Arrays.sort(a2);
            // for (Integer x : a2) {
            //     System.out.println(x);
            // }

             //方式三
            TreeSet ts1 = new TreeSet<>(set);
            TreeSet<Integer> ts = new TreeSet(new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1.compareTo(o2);
                }
            });
            ts.addAll(ts1);
            for (Integer t : ts) {
                System.out.println(t);
            }
             } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务