获取不重复的字符串

   /**
     * 获取不重复的字符串
     *  aabbc->abc
     * @param srcStr
     * @return
     */
    public static String getSingleCharStr(String srcStr){
        if (srcStr==null){
            return null;
        }
        if (srcStr.isEmpty()){
            return null;
        }
        String trim = srcStr.trim();
        Map<Character, Integer> characterIntegerHashMap = new LinkedHashMap<>();
        for (int i = 0; i < trim.length(); i++) {
            char c = trim.charAt(i);
            if (characterIntegerHashMap.containsKey(c)){
                characterIntegerHashMap.put(c,characterIntegerHashMap.get(c)+1);
            }else {
                characterIntegerHashMap.put(c,1);
            }
        }
        ArrayList<CustomerStr> customerStrs = new ArrayList<>();
        characterIntegerHashMap.forEach((character, integer) ->{
            CustomerStr customerStr = new CustomerStr();
            customerStr.setId(UUID.randomUUID().toString());
            customerStr.setCharTemp(character);
            customerStr.setCharCout(integer);
            customerStrs.add(customerStr);
        });
        StringBuilder stringBuilder = new StringBuilder();
        customerStrs.forEach(e->{
            stringBuilder.append(e.getCharTemp());
        });
        return stringBuilder.toString();
    }
    public static String getSingleCharStr1(String srcStr){
        if (srcStr==null){
            return null;
        }
        if (srcStr.isEmpty()){
            return null;
        }
        String trim = srcStr.trim();
        Set<Character> characters = new LinkedHashSet<>();
        for (int i = 0; i < trim.length(); i++) {
            characters.add(trim.charAt(i));
        }
        StringBuilder stringBuilder = new StringBuilder();
        characters.forEach(e->{
            stringBuilder.append(e);
        });
        return stringBuilder.toString();
    }
	class CustomerStr{
    private String id;
    private Character charTemp;
    private Integer charCout;
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Character getCharTemp() {
        return charTemp;
    }

    public void setCharTemp(Character charTemp) {
        this.charTemp = charTemp;
    }

    public Integer getCharCout() {
        return charCout;
    }

    public void setCharCout(Integer charCout) {
        this.charCout = charCout;
    }
}

#如果中了500万,你会离职吗?##技术岗笔试题求解##双非应该如何逆袭?##你投递的公司有几家约面了?#
Java技术 文章被收录于专栏

JavaEE技术 编程开发经验 企业通用技术

全部评论
嗨~看起来你在做一些有趣的字符串处理工作呢!你的`getSingleCharStr`和`getSingleCharStr1`方法都是为了获取不重复的字符串。`getSingleCharStr1`方法看起来更简洁高效,因为它直接使用了`LinkedHashSet`来保证字符的唯一性和顺序。而`getSingleCharStr`方法则创建了一个额外的`ArrayList`和一个`CustomerStr`类来存储字符和计数,这有点复杂,但也许你有特定的需求。 如果你想要讨论代码的优化或者有其他编程问题,我可以帮你哦!或者,如果你想要私信我聊聊,可以点击我的头像~(≧▽≦)
点赞 回复 分享
发布于 03-15 09:00 AI生成

相关推荐

04-17 18:32
门头沟学院 Java
野猪不是猪🐗:他跟你一个学校,你要是进来之后待遇比他好,他受得了?
点赞 评论 收藏
分享
CADILLAC_:我要用bava 不要用java 了 啊啊啊啊啊啊啊啊啊啊啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务