在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去除重复的字符串和移除不想要的字符串的更多相关文章

  1. java去除反复的字符串和移除不想要的字符串

    在java开发中碰到了有些字符串是反复的,假设在进行业务处理要所有遍历太对的数据就会反复,所以在进行业务处理前进行一个去重操作. watermark/2/text/aHR0cDovL2Jsb2cuY3 ...

  2. java 去除重复项

    import java.util.Arrays; import java.util.HashSet; import java.util.Set; class Demo20 { public stati ...

  3. ArrayList去除重复元素(包括字符串和自定义对象)

    1.去除重复字符串 package com.online.msym; import java.util.ArrayList; import java.util.Iterator; @SuppressW ...

  4. [转]java去除List中重复的元素

    java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int  ...

  5. java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。

    import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据 ...

  6. Java 去除 ArrayList 集合中的重复元素

    // One practice package Collection; import java.util.ArrayList; import java.util.Iterator; // 去除 Arr ...

  7. java去除数组重复元素的方法

    转载自:https://blog.csdn.net/Solar24/article/details/78672500 import java.util.ArrayList; import java.u ...

  8. java去除字符串后面的\0

    java去除字符串后面的\0 private String filterCode(String string) { if (string != null) { string = string.trim ...

  9. Java实现数组去除重复数据的方法详解

    一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer ...

随机推荐

  1. linux下进入root

    baoyu@ubuntu:~$ sudo password root sudo: password: command not found baoyu@ubuntu:~$ sudo passwd roo ...

  2. 结构型模式——Adapter

    1.意图 将一个类的接口转换成客户希望的另一个接口.使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 2.结构 类适配器 对象适配器 3.参与者 Target定义Client使用的与特定领域 ...

  3. ▲▲▲▲▲▲▲▲▲▲▲yum源的配置(本地和ftp)▲▲▲▲▲▲▲▲▲▲▲▲▲v

    ★★★★★★★★★★★★★★★本机yum源★★★★★★★★★★★★★★★★ 1. 首先把DVD里的OS镜像mount处理,如果插入光驱自动mount的话,一般在/media下面,比如RHEL_6.3 ...

  4. DB Cache Reloaded Fix缓存不能被激活解决方法

    1.创建wp-content/plugins/db-cache-reloaded-fix/cache目录. 2.将cache权限改为777. 3.拷贝wp-content/plugins/db-cac ...

  5. sql 查询练习

    1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100 ...

  6. css3选择器一

    在HTML中,通过各种各样的属性可以给元素增加很多附加的信息,了解和掌握css3一些的选择器,是很有必要的. 属性选择器示例: <div><a href="xxx.pdf& ...

  7. AjaxFileUpload Firefox 不工作异常 (zero-width space characters from a JavaScript string)

    Firefox 返回的提示报错parse error (Chrome 和 IE正常) 打印出来返回的字符串,目测正常 将字符串放入notepad++, 转换字符集为ANSI 发现多出了欧元符号 通过j ...

  8. 51nod1265四点共面

    1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面).如 ...

  9. 【CSDN人物访谈】蒋守壮分享他的技术成长之路以及对Hive技术的解读与思考

    结缘大数据技术 CSDN:请简单地介绍一下自己. 蒋守壮:首先非常感谢CSDN能够给我这次被专访的机会,可以让我重新审视自己的职业发展历程,也希望能够帮助一些同行的朋友们.目前就职万达网络科技集团有限 ...

  10. linux 输入子系统(3)----事件处理(input_handler层)

    输入子系统主要设计input_dev.input_handler.input_handle.如下: [1]每个struct input_dev代表一个输入设备 struct input_dev { c ...