java :在字符串中查找第一个不重复的字符



1.解题思路:

利用string的IndexOf()和lastIndexOf()方法,如果字符串中一个字符只出现一次,那么Indexof()和lastIndexOf()肯定指向同一下标
答案如下:
public class demo {
    public static void main(String[] args) {
        String str = "qwerttrewdf";
        char[] chars = str.toCharArray();
        for(int i = 0 ; i < chars.length; i++){
            char ch = chars[i];
            if(str.indexOf(ch) == str.lastIndexOf(ch)){
                System.out.println(ch);
                break;
            }
        }
    }
}

 





2.解题思路:
利用hashmap来将字符和字符出现的次数存成k,v的形式,,再遍历hashmap通过判断将所需要的数据输出来。
答案如下:
 public static void main(String[] args) {
        String str = "qwerttrewdf";
        HashMap<Character,Integer> map = new HashMap<>();
        char [] chars = str.toCharArray();
        for(int i = 0; i < chars.length; i++){
            char ch = chars[i];
            map.compute(ch,(k,v) -> (v == null) ? 1 : ++v);
        }
        map.forEach((k,v) ->{
            if(v == 1){
                System.out.println(k);
            }
        });
    }

 

 

 





 

上一篇:Linux 源代码 安装vsftpd 2.3.4


下一篇:【群答疑20210525-1】MySQL列名相同,出现两列问题