获取字符串中不重复的第一个字符

时间:2021-12-19 20:38:25

 

public static char firstNonRepeatedCharacter(String str) {
        //获取字符串中不重复的第一个字符

        //第一步,用hashMap进行存放分割出来的字符串
        //key当做接收分割出来的字符串 value用来接受次数
        HashMap<Character, Integer> hashMap = new HashMap<Character, Integer>();
        //循环小于字符串的长度
        for (int i = 0; i < str.length(); i++) {
             //分科字符串中的第i个字符
                char c = str.charAt(i);
                if(c!=','||c!='.'||c!='?')
                hashMap.put(c, hashMap.containsKey(c)?hashMap.get(c) + 1:1);

        }
        // 进行循环查找
        for (int i = 0; i < str.length(); i++) {
            //切割
            char c = str.charAt(i);
            //如果这个字符的value等于1
            //返回这个字符
            if (hashMap.get(c) == 1) {
                return c;
            }
        }
        throw new RuntimeException("字符串中没有不重复的第一个字符");
    }