美文网首页
TreeSet 使用技巧

TreeSet 使用技巧

作者: Nic_ofh | 来源:发表于2017-12-16 15:51 被阅读0次

    一、 TreeSet 可以排序不重复的元素(把重复元素删除了,再排序)

       ArrayList<String> list = new ArrayList<>();
            list.add("ccc");
            list.add("ccc");
            list.add("aaa");
            list.add("aaa");
            list.add("bbb");
            list.add("ddd");
            list.add("ddd");
    
    
            TreeSet<String> treeSet = new TreeSet<>();
    
            treeSet.addAll(list);
            System.out.println(treeSet);
    

    二、TreeSet 不删除重复元素排序 (技巧)

    // 使用lambada表达式
            TreeSet<String> stringTreeSet = new TreeSet<>((s1, s2) -> {
                int num = s1.compareTo(s2);
                return num == 0 ? 1 : num;
            });
    
    // 或者
       TreeSet<String> stringTreeSet1 = new TreeSet<>(new Comparator<String>() {
                @Override
                public int compare(String s1, String s2) {
                    int num = s1.compareTo(s2);
                    return num == 0 ? 1 : num;
                }
            });
    

    三、案例 : helloitcast程序打印:acehillostt

    String string = "helloitcast";
    
            // 分割成数组
            String[] strings = string.split("");
    
            // 数组转化集合
            List<String> list1 = Arrays.asList(strings);
    
            // 使用lambada表达式
            TreeSet<String> stringTreeSet = new TreeSet<>((s1, s2) -> {
                int num = s1.compareTo(s2);
                return num == 0 ? 1 : num;
            });
            
    
            // 集合排序,不会删除重复元素
            stringTreeSet.addAll(list1);
    
    
            // 转化成字符串
    
            String join = String.join("", stringTreeSet);
            System.out.println(join);
    

    参考网址: http://yanhui.site/2017/08/01/Java%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86%EF%BC%8817%EF%BC%89/

    相关文章

      网友评论

          本文标题:TreeSet 使用技巧

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