码迷,mamicode.com
首页 > 编程语言 > 详细

java去除重复的字符串和移除不想要的字符串

时间:2015-08-21 21:28:11      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作。

技术分享

这里由于业务需要所以先将字符串转化为string数组,使用split分割,然后将string数组一个个放到list里(list的remove可以将你不要的字符串删除掉,代参数的哦)

可以看到我使用的是list,在list里包含了一个contains函数,表示当前字符串是否与list里的元素有相同没有就add进list里

在最后还将list里的元素转化为string数组就将重复的字符串去除了,在最后使用了substring将字符串截取,在这里如果你的otherAppid太长的话会造成内存溢出,因为substring

的实现是先将字符串拷贝到另一块内存,然后将字符串截取(这也是我看了支付宝的支付dom有个疑问然后查找资料得到的有兴趣的可以找下资料看下技术分享)所以可以使用

int i=0;

if (i == newStr.length-1) {//拼接时,不包括最后一个,字符
otherAppid=otherAppid+commercial_account;
} else {
      otherAppid=otherAppid+commercial_account+",";
 }
i++;

判断下。

贴出代码

String otherAppid="";
String tmp="123,234,123,234,567,789,adb,asc,dcf,adb";
String[] commercial_accounts=tmp.split(",");


List<String> list = new ArrayList<String>();  
for (int i=0; i<commercial_accounts.length; i++) {  
System.out.print("commercial_accounts:"+commercial_accounts[i]);
System.out.print("\n");
if(!list.contains(commercial_accounts[i])){
       //去除重复的字符串
        list.add(commercial_accounts[i]);
 } 
}  
//list.remove(1);  去除不想要的字符串
String[] newStr =  list.toArray(new String[0]); //返回一个数组    

int i = 0;
for(String commercial_account:newStr){
//otherAppid=otherAppid+commercial_account+",";

if (i == newStr.length-1) {//拼接时,不包括最后一个,字符
otherAppid=otherAppid+commercial_account;
  } else {
      otherAppid=otherAppid+commercial_account+",";
}
i++;
}
System.out.print("otherAppid:"+otherAppid);
System.out.print("\n");
//otherAppid=otherAppid.substring(0,otherAppid.length()-1);
System.out.print("otherAppid:"+otherAppid);



版权声明:本文为博主原创文章,未经博主允许不得转载。

java去除重复的字符串和移除不想要的字符串

标签:

原文地址:http://blog.csdn.net/u011575570/article/details/47840759

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!