程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

字符串去重算法

发布于2020-11-19 20:36     阅读(530)     评论(0)     点赞(16)     收藏(3)


简单的字符串去重算法

思路:

①先将字符串转换为String数组

②利用有序的Map集合的containsKey()方法,筛选出不重复的字符串为key

③遍历有序集合的key,结果就是我们需要的去重字符串

  1. import java.util.*;
  2. public class quchong {
  3. /*删除字符串中的重复字符*/
  4. public static String quChong(String str) {
  5. //1.字符串转换为数组
  6. String []a=new String[str.length()];
  7. for (int i = 0; i < str.length(); i++) {
  8. String s=str.substring(i,i+1);
  9. a[i]=s;
  10. }
  11. /*2.记录每个元素出现的个数,此处的集合用LinkedHashMap、TreeMap都可以,HashMap不可以因为它是无序map集合,可以去重,但是原字符串的顺序会被改变*/
  12. //Map<String,Integer> m=new HashMap<String,Integer>();//Map无序集合
  13. //Map<String,Integer> m=new LinkedHashMap<String, Integer>();//Map有序集合
  14. Map<String,Integer> m=new TreeMap<String, Integer>();//Map有序集合
  15. for (int i = 0; i <a.length ; i++) {
  16. if (m.containsKey(a[i])) {
  17. Integer AA=m.get(a[i])+1;
  18. m.put(a[i],AA);
  19. }else{
  20. m.put(a[i],1);
  21. }
  22. }
  23. //3.遍历有序集合的key,并拼接为字符串
  24. String result="";
  25. Iterator ite=m.keySet().iterator();
  26. while (ite.hasNext()){
  27. result=result+(String)ite.next();
  28. }
  29. return result;
  30. }
  31. public static void main(String[] args) {
  32. String str="aabbccddefgg";
  33. String result=quChong(str);
  34. System.out.println(result);
  35. }
  36. }
  37. 结果:abcdefg

 

原文链接:https://blog.csdn.net/weixin_44197026/article/details/109780454



所属网站分类: 技术文章 > 博客

作者:你不要惹我

链接:http://www.javaheidong.com/blog/article/828/91c84605c5a524a344b8/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

16 0
收藏该文
已收藏

评论内容:(最多支持255个字符)