「java符串怎么去重」java去掉重复字符

博主:adminadmin 2023-01-07 09:27:08 711

本篇文章给大家谈谈java符串怎么去重,以及java去掉重复字符对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

急求!!!!用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符串怎么去重的信息别忘了在本站进行查找喔。