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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这里因为业务须要所以先将字符串转化为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开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作. 这里由于业务需要所以先将字符串转化为string数组,使用split分 ...

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

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

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

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

  4. java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”

    /*需求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符.但对应的字节数不同,一个汉字占两个字节.定义一个方法,按照最大的字节数来取子串.如:对于“ab你好”,如果取三 ...

  5. Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能

    Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java. ...

  6. Java学习(API及Object类、String类、StringBuffer字符串缓冲区)

    一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就 ...

  7. JAVA----编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符

    package com.pb.demo.packclass.demo1; import java.util.HashSet; /** * 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 ...

  8. 不区分大小写匹配字符串,并在不改变被匹配字符串的前提下添加html标签

    问题描述:最近在搭建一个开源平台网站,在做一个简单搜索的功能,需要将搜索到的结果中被匹配的字符串添加不一样的颜色,但是又不破坏被匹配的字符串. 使用的方法是替换被匹配的字符串加上font标签.但是搜索 ...

  9. 014 Longest Common Prefix 查找字符串数组中最长的公共前缀字符串

    编写一个函数来查找字符串数组中最长的公共前缀字符串. 详见:https://leetcode.com/problems/longest-common-prefix/description/ 实现语言: ...

随机推荐

  1. POJ 3243

    Babystep算法.具体为什么,我也不太明白,好像资料不多. #include <iostream> #include <cstdio> #include <cstri ...

  2. 简单易学的机器学习算法——神经网络之BP神经网络

    一.BP神经网络的概念     BP神经网络是一种多层的前馈神经网络,其基本的特点是:信号是前向传播的,而误差是反向传播的.详细来说.对于例如以下的仅仅含一个隐层的神经网络模型: watermark/ ...

  3. AS常见的错误

    导入的项目使用的gradle版本和本地的要一致,不然会提示类似"Minimum supported Gradle version is 3.3. Current version is 2.1 ...

  4. ZooKeeper分布式集群部署及问题

    ZooKeeper为分布式应用系统提供了高性能服务,在许多常见的集群服务中被广泛使用,最常见的当属HBase集群了,其他的还有Solr集群.Hadoop-2中的HA自己主动故障转移等. 本文主要介绍了 ...

  5. CCDirector导演类

    CCDirector类是Cocos2D-x游戏引擎的核心.它用来创建而且控制着屏幕的显示,同一时候控制场景的显示时间和显示方式. 在整个游戏里一般仅仅有一个导演.游戏的開始.结束.暂停都会调用CCDi ...

  6. 0x31 质数

    poj2689 算根号R的质数,然后把L~R区间(这个很小啊)的合数判下 #include<cstdio> #include<iostream> #include<cst ...

  7. Javascript中的with用法

    1.看例子 <script language="javascript"> function Lakers() { this.name = "kobe brya ...

  8. 英语发音规则---W字母

    英语发音规则---W字母 一.总结 一句话总结: 1.W在单词开头发[w]? week [wiːk] n. 周,星期 win [wɪn] vt. 赢得 wake [weɪk] vi. 醒来 sweet ...

  9. QEMU/KVM磁盘在线备份

    QEMU/KVM磁盘的在线完整及增量备份,是"打包"方案的一种具体实现,可实现基于时间点的备份,同时支持本地与远程2种备份方式,并可指定备份文件进行恢复. tag: qemu, k ...

  10. Python3之时间模块详述

    Python3之时间模块  time & datetime & calendar 一. 概述 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多p ...