字符串去重的5种方式
public class Demo {public static void main(String[] args) {String str = "albcad12l;''>sfg,?>";String newStr = quChong5(str);System.out.println(newStr); }
}
//1.字符串public static String quChong(String str){String newStr = "";for (int i = 0; i < str.length(); i++) {String strs = str.charAt(i) + "";if(newStr.indexOf(strs) == -1){newStr = newStr + strs;}}return newStr; }
//2.setpublic static String quChong2(String str){Set set = new HashSet();for (int i = 0; i < str.length(); i++) {String strs = str.charAt(i) + "";set.add(strs);}String result = toString(set);return result;}public static String toString(Set set){String result = "";for (Object object : set) {result = result + (String)object;}return result;}
//3.listpublic static String quChong3(String str){List list = new ArrayList();for (int i = 0; i < str.length(); i++) {String strs = str.charAt(i) + "";if(!list.contains(strs)){list.add(strs);}}String newStr = toString(list);return newStr;}public static String toString(List list){String result = "";for (int i = 0; i < list.size(); i++) {result = result + list.get(i);}return result;}
//4.hashMappublic static String quChong4(String str){Map map = new HashMap();for (int i = 0; i < str.length(); i++) {String strs = str.charAt(i) +"";map.put(strs, 1);}Set set = map.keySet();String result = toString(set);return result;}public static String toString2(Set set) {String result = "";for (Object object : set) {result = result + (String)object;}return result;}
//5.字符串数组//[a,b,c,a,b,f,g]public static String quChong5(String str){//定义一个数组//把传进来字符串的每个字符放在数组里String[] strs = new String[str.length()];for (int i = 0; i < strs.length; i++) {String s = str.charAt(i)+"";strs[i] = s;}//数组里如果有重复的,把重复的字符串赋值成随便定义的字符串(目的:遍历这个数组,把这个数组中不等于随便定义的那个字符串的所有字符串放在重新定义的新数组中)for (int i = 0; i < strs.length - 1; i++) {for (int j = i + 1; j < strs.length; j++) {if(strs[i].equals(strs[j])){strs[j] = str;}}}//找出不重复的所有字符串的个数int count = 0;for (int i = 0; i < strs.length; i++) {if(strs[i].equals(str)){count = count + 1;}}//定义一个新数组(已算出新数组的长度)//把不重复的字符串放进新数组中String newstr = "";int newCount = str.length()-count;int index = 0;String[] newStrings = new String[newCount];for (int i = 0; i < strs.length; i++) {if(!strs[i].equals(str)){newStrings[index] = strs[i];index = index++;newstr = newstr + strs[i];}}return newstr;}
字符串去重的5种方式相关推荐
- Java字符串连接的几种方式
Java字符串连接的几种方式 字符串表现的几种方式 StringBuffer和StringBuilder及String的继承关系 字符串的连接 1.String的连接方法 可以看出连接方式是新建了一个 ...
- Go语言如何高效的进行字符串拼接(6种方式进行对比分析)
前言 哈喽,大家好,我是asong 日常业务开发中离不开字符串的拼接操作,不同语言的字符串实现方式都不同,在Go语言中就提供了6种方式进行字符串拼接,那这几种拼接方式该如何选择呢?使用那个更高效呢?本 ...
- url去重的几种方式
一.url去重的几种方式 1.使用 Java 的 Set 集合判重 Set 集合天生具备不可重复性,使用它只能存储值不相同的元素,如果值相同添加就会失败,因此我们可以通过添加 Set 集合时的结果来判 ...
- Java字符串去重的几种实现
Java字符串去重 Java字符串去重的几种实现 一.StringBuilder类 二.HashSet集合 总结 Java字符串去重的几种实现 去除字符串中出现的重复字符,保留重复第一次出现的字符. ...
- c语言中按照“|”字符串截取,shell中取字符串子串的几种方式 截取substr
echo "123456789" | awk '{print substr($0,5,2)}' 截取 1)awk中函数substr substr(源字符串,开始索引,长度) 开 ...
- java steam 去重_List去重的5种方式
原标题:List去重的5种方式 转自:多纤果冻 以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据 1.使用LinkedHashSet删除arraylist中的重复数据 Link ...
- List集合去重的几种方式
List集合去重的几种方式 1. 通过set集合的特性,集合元素的唯一性 public static List heavyListMethod01(List list){ Set se ...
- 最优雅的Java字符串拼接是哪种方式?
title shortTitle category tag description head 最优雅的Java字符串拼接是哪种方式? Java字符串拼接 Java核心 数组&字符串 Java程 ...
- Java中字符串拼接的几种方式(源码分析)
字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起. 我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改. 不可变类的实例一旦创建,其成员变 ...
最新文章
- 张一鸣宣布卸任字节CEO!网友:完不成OKR被优化了!
- windows 7架设OpenSSH服务器实践
- (二)图像处理技术概述
- Servlet基本_オブジェクトのスコープ
- 微型统计分析系统README
- 详解:从Greenplum、Hadoop到现在的阿里大数据技术
- (王道408考研数据结构)第二章线性表-第二节1:顺序表的定义
- Trie树---前缀最相似匹配
- K-Lite Codec Pack 解码器下载及安装过程步骤参考
- VIIRS-NPP夜间灯光遥感数据下载和预处理
- UISwitch的使用 - IOS
- 关于未知的USB设备(设备描述符请求失败)的解决方法。
- mysql类exadata功能_一些有用的Exadata诊断命令
- 2020年,生活从“不易”开始
- 《JavaScript百炼成仙》 全书知识点整理
- [9i] 我们常说的好朋友:“哥们”、“兄弟”、“死党”、“闺蜜”,以及坏朋友:“小人”、“背叛者”在英文中怎么说。
- 数据可视化-制作交易收盘价
- 基于C++的psf2otf实现
- 弘辽科技:拼多多转化率怎么看?4个步骤教会你
- Linux:安装ruby