这篇文章将为大家详细讲解有关java如何从字符串中找出第一个不重复的字符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
如何从字符串中找出第一个不重复的字符?
比如说字符串“沉默王沉沉默二”,第一个不重复的字符是“王”,对吧?因为“沉”重复了,“默”重复了。
publicclassFindNonRepeatingChar{publicstaticvoidmain(String[]args){System.out.println(printFirstNonRepeatingChar("沉默王沉沉默二"));System.out.println(printFirstNonRepeatingChar("沉默王沉"));System.out.println(printFirstNonRepeatingChar("沉沉沉"));}privatestaticCharacterprintFirstNonRepeatingChar(Stringstring){char[]chars=string.toCharArray();List<Character>discardedChars=newArrayList<>();for(inti=0;i<chars.length;i++){charc=chars[i];if(discardedChars.contains(c))continue;for(intj=i+1;j<chars.length;j++){if(c==chars[j]){discardedChars.add(c);break;}elseif(j==chars.length-1){returnc;}}}returnnull;}}
输出结果如下所示:
王默null
说一下我的思路:
1)把字符串拆分成字符数组。
2)声明一个 List,把重复的字符放进去。
3)外层的 for 循环,从第一个字符开始,如果已经在 List 中,继续下一轮。
4)嵌套的 for 循环,从第一个字符的下一个字符(j = i + 1)开始遍历,如果找到和之前字符重复的,就加入到 List 中,跳出内层的循环;如果找到最后(j == chars.length - 1)也没有找到,就是第一个不重复的字符,对吧?
关于“java如何从字符串中找出第一个不重复的字符”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
java fileinputstream中文乱码如何解决
javafileinputstream中文乱码如何解决今天小编给...
java实现点赞功能
java实现简单点赞功能
java实现收藏功能
java输入空行结束问题怎么解决
Java线程中常用的操作有哪些
java输入时怎么通过回车来结束输入
Java数据结构之线索化二叉树怎么实现
Java中的泛型怎么理解
Java字符串编码解码性能怎么提升
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议