「java符串怎么去重」java去掉重复字符
本篇文章给大家谈谈java符串怎么去重,以及java去掉重复字符对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、急求!!!!用java 写一个 字符串去重 的程序!
- 2、Java 字符串去重
- 3、java如何去掉字符串中重复的字符
- 4、java中怎么将字符串数组中的重复的元素去掉,但是还是保留一个。
- 5、(算法)去除字符串中的重复字符(时间复杂度)
急求!!!!用java 写一个 字符串去重 的程序!
可以利用SET里元素不重复的功能实现, 将字符串按照、分割成数组, 然后挨个放入SET中, 最后遍历SET 将里面每个元素组合成一个字符串 。
String s[] = “人、药物、疾病、药物、疾病、人、药物、” 按照、分割。
Set set = new HashSet();
遍历数组s[]
将数组每个元素放入set
遍历结束
定义字符串result=""
遍历set
result = result + "、" + set的该次遍历的元素
遍历结束, 得到结果result
Java 字符串去重
public class Demo8 {
public static void main(String[] args) {
System.out.println(removerepeatedchar("ddddccffgd"));
}
public static String removerepeatedchar(String s) {
if (s == null)
return s;
StringBuilder sb = new StringBuilder();
int i = 0, len = s.length();
while (i len) {
char c = s.charAt(i);
sb.append(c);
i++;
while (i len s.charAt(i) == c) {
i++;
}
}
return sb.toString();
}
}
java如何去掉字符串中重复的字符
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
import java.util.List;
import java.util.Scanner;
public class DeleteRepeated {
private String str;
private TreeSetString noReapted;//带有String类型的TreeSet泛型
public DeleteRepeated() {
Scanner in = new Scanner(System.in);
System.out.println ("输入一个字符串:");
str = in.nextLine();
noReapted = new TreeSet();
}
//清楚重复的数据
public void removeRepeated(){
for (int i = 0; i str.length(); i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型 所以先加一个""空格 , 转换成String型
//TreeSet泛型能保证重复的不加入 , 而且有序
}
str = "";
for(String index:noReapted){
str += index;
}
//输出
System.out.println (str);
}
public static void main(String[] args) {
DeleteRepeated dr = new DeleteRepeated();
dr.removeRepeated();
}
}
运行截图:
希望能帮助你哈
java中怎么将字符串数组中的重复的元素去掉,但是还是保留一个。
import java.util.*;
class BaiDu
{
public static void main(String[] args)
{
TreeSetString tr = new TreeSetString();
String[] s ={"11","22","22","33","33","33"};
System.out.print("====处理前=======");
for(int i=0;is.length;i++){
System.out.print(s[i]+" ");
tr.add(s[i]);
}
String[] s2= new String[tr.size()];
System.out.println("=====处理后======");
for(int i=0;is2.length;i++){
s2[i]=tr.pollFirst();//从TreeSet中取出元素重新赋给数组
System.out.print(s2[i]+" ");
}
}
}
(算法)去除字符串中的重复字符(时间复杂度)
1.一般会想到遍历字符串,去除重复的字符,这样时间复杂度是O(n²),时间复杂度太高。
static String sub(String str){
StringBuffer result =newStringBuffer();
List list =new ArrayList();
char[] cs = str.toCharArray();
for(int i=0; ics.length; i++){
if(!list.contains(cs[i])){
result.append(cs[i]);
list.add(cs[i]);
}
}
returnresult.toString();
}
2.再仔细想一想
用java的String的indexOf方法来达到字符串去重的目的,indexOf的功能是返回指定字符在此字符串中第一次出现处的索引:
public static String QuChong(String str){
StringBuilder sb=new StringBuilder();
for(int i=0;istr.length();i++){
if(str.indexOf(str.charAt(i))==i){
//第一次出现
sb.append(str.charAt(i));
}
}
String result=sb.toString();
return result;
}
java符串怎么去重的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java去掉重复字符、java符串怎么去重的信息别忘了在本站进行查找喔。