美文网首页
有一个数组中有100个数字,请输出:没有重复并按照升序排列的数字

有一个数组中有100个数字,请输出:没有重复并按照升序排列的数字

作者: iarchitect | 来源:发表于2018-09-06 10:57 被阅读0次

    实现思路如下:

    • 首先使用hashSet对数组去重
    • 再使用treeSet进行升序排序
    • 最后将结果打印出来
    
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Set;
    import java.util.TreeSet;
    
    public class Main {
    
        public static void main(String[] args) {
            
            Integer[] unsorteAndReapetArray = {2,1,58,4,2,36,6,5,4,85,6,2,5,4,6};
    
            HashSet<Integer> hashSet = new HashSet<Integer>();
            hashSet.addAll(Arrays.asList(unsorteAndReapetArray));
    
            Set<Integer> treeSet = new TreeSet(hashSet);
    
            Integer[] sortedArray = treeSet.toArray(new Integer[]{});
    
            System.out.println(Arrays.toString(sortedArray));
        }
    }
    

    输出结果:

    确定这样就完事了吗?继续往下看

    TreeSet是Set的一个子类,TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一

    将上述方法修改一番

    public static void main(String[] args) {
    
            Integer[] unsorteAndReapetArray = {2,1,58,4,2,36,6,5,4,85,6,2,5,4,6};
    
    //        HashSet<Integer> hashSet = new HashSet<Integer>();
    //        hashSet.addAll(Arrays.asList(unsorteAndReapetArray));
    
            Set<Integer> treeSet = new TreeSet(Arrays.asList(unsorteAndReapetArray));
    
            Integer[] sortedArray = treeSet.toArray(new Integer[]{});
    
            System.out.println(Arrays.toString(sortedArray));
        }
    

    最终输出结果:


    image.png

    其实只是用TreeMap就可以了,如果你有更好的方法可以给我留言啊

    相关文章

      网友评论

          本文标题:有一个数组中有100个数字,请输出:没有重复并按照升序排列的数字

          本文链接:https://www.haomeiwen.com/subject/eqgtgftx.html