梦殇国际

标题: String字符串去重复 [打印本页]

作者: 阿星    时间: 2015-12-28 18:33
标题: String字符串去重复
有个需求就是在获取input输入的内容思路就是利用set不允许元素重复。
当然还有其他的方法,多重for循环什么的,个人感觉这样应该效率高一点
要去掉重复的,代码如下。

  1.                 String aa = "梦殇国际,qq,gg,ff,qq,kk,11,qq,28,qq,梦殇国际";
  2.                 String aaArray[] = aa.split(",");
  3.                 HashSet<String> msi = new HashSet<String>();
  4.                 for (String s : aaArray) {
  5.                         msi.add(s);
  6.                 }
  7.                 //HashSet在toString()之后会多出两个中括号所以要去掉
  8.                 String hisen = msi.toString().replace("[", "").replace("]", "");
  9.                 System.out.println(hisen);
  10.        
复制代码

输出结果
  1. ff, 梦殇国际, gg, kk, 28, 11, qq
复制代码




作者: 萨菲罗斯    时间: 2015-12-28 19:04
哇塞。。。看不懂。。。

作者: lows1    时间: 2015-12-28 19:12
set内部去重复 也是是消耗时间的 直接代码简单把

作者: 阿星    时间: 2015-12-29 09:40
lows1 发表于 2015-12-28 19:12
set内部去重复 也是是消耗时间的 直接代码简单把

                直接去重:时间复杂度 O(n²)
                排序去重:时间复杂度 O(nlogn)
                字典去重:时间复杂度 O(n)

考虑到是字符串,不好排序
所以相对来说比这个好?
你说的直接代码是咋样的,贴上来瞧瞧

作者: xingxing_2016    时间: 2015-12-29 15:46
不错的帖子,学习了

作者: beibeifatie2    时间: 2015-12-31 22:35
这样太好,你对呀





欢迎光临 梦殇国际 (https://www.714.hk/) Powered by Discuz! X3.4