字符串字符去重

    //字符串去重
    //思路:创建一个新数组,遍历子符数组,放入新数组,每次检查是否重复,重复不放,不重复放入
    public String quChong(String s){
        char[] chars = s.toCharArray();
        char[] newChars = new char[chars.length];
        for (int i = 0,j = 0; i < chars.length; i++) {
            if(i != 0){
                if (!(String.valueOf(newChars).contains(String.valueOf(chars[i])))) {
                    newChars[++j] = chars[i];
                }
                continue;
            }
            newChars[i] = chars[i];
        }
        return new String(newChars).trim();
    }

    //去重思路2:利用streamAPI
    public String quChong2(String s){
        //将String转换为List<String>
        String[] strs = s.split("");
        List<String> strList = Arrays.asList(strs).stream().distinct().collect(Collectors.toList());//去重
        String[] strs2 = new String[strList.size()];
        //List<String>转换为String[]
        strList.toArray(strs2);
        //StringBuilder builder = new StringBuilder();
        //for (String s1 : strList) {
        //    builder.append(s1);
        //}
        //return new String(builder);
        return new String(String.join("",strs2));//String[]拼接为String

知识点:

  1. StringBuider的append方法:StringBuilder append(String)
  2. 数组转换为集合:Arrays.asList(T[] t)
  3. streamAPI中去重的使用:distinct()
  4. 字符串分割为字符串数组:String[] split(分割符),如果分割符为“”,则将字符串打散,每个字符为字符串数组中的一个元素
  5. 字符串去除两边空格:String trim()
  6. 字符串转换为字符数组:char[] toCharArray()
  7. 将字符数组转换为字符串:String valueOf(char[] c)
  8. 将字符转换为字符串:String valueOf(char c)
  9. 判断一个字符串是否包含另一个字符串:boolean contains(String other)
  10. 字符数组转换为字符串:new String(char[] c)
  11. 字符串拼接:String.join(String delimiter,CharSequence… elements)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值