Java去掉字符串中的重复字符,并排序

刚刚做一个项目,用户输入多选题的答案。需要把用户输入的内容去重,并且排序。所以写了一个工具类,分享给大家。

思路很简单,利用TreeSet元素不重复、元素有序的特性,可以很简单的实现,具体代码如下:

    /**
     * 把字符串去重,并升序排序
     * @param str
     * @return
     */
    public static String sort2(String str) {

        //把String变成单一字符数组
        String[] chars = str.split("");

        //把字符串数组放入TreeSet中,根据set元素不重复的特性去掉重复元素。根据treeSet的有序性排序
        TreeSet<String> treeSet = new TreeSet();
        for (String s : chars) {
            treeSet.add(s);
        }

        //把treeSet拼接成字符串
        str = "";
        for (String s : treeSet) {
            str += s;
        }
        return str;
    }

测试代码:

String s = "cbbkac";
System.out.println("去重排序前:" + s);
s = sort2(s);
System.out.println("去重排序后:" + s);

测试结果:

去重排序前:cbbkac
去重排序后:abck

正文结束,以下为补充


如果还需要变成大写,也很简单。String有一个方法toUpperCase,可以把字符串变成大写。

String str = "abcc";
str.toUpperCase();

如果需要过滤用户输入的字符,只保留字母,怎么办呢?使用正则表达式很容易做到:

String input = "你好acd123";
input.replaceAll("[^a-zA-Z]", "");

这两个例子都比较简单,就不放测试代码啦,大家自行测试吧。

喜欢就关注我吧~


欢迎加我微信,拉进群交流哦!


微信二维码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,873评论 19 139
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,682评论 1 44
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,465评论 0 2
  • 第一天上班,冰之心里很忐忑。 怕接触陌生人,怕在陌生的环境里,与陌生的人,谈陌生的事儿。她总觉得自己不太适合在这个...
    徐瑛子阅读 467评论 9 6
  • 今天终于get到了被我遗弃好久的花花胶带的用处,配上小姐姐美美哒! 还学会了在纸上切割胶带,又获得一项技能!
    铲沙大户阅读 327评论 0 0

友情链接更多精彩内容