「java读取字符串并去重」java字符串

博主:adminadmin 2023-03-20 07:42:07 288

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

本文目录一览:

java去除重复字符串的问题?

package text;

import java.util.ArrayList;

import java.util.List;

public class Quchong {

    public static void main(String args[]){

        String a="1,2,3,4,5,6";

        String b="1,3,6";

        String result=quChong(a,b);

        System.out.println(result.substring(0,result.lastIndexOf(",")));

    }

    private static String quChong(String a, String b) {

        StringBuffer result=new StringBuffer();

        String[] aa=a.split(",");

        String[] bb=b.split(",");

        List aaa=new ArrayList();

        List bbb=new ArrayList();

        for(int i=0;iaa.length;i++){

            aaa.add(aa[i]);

        }

        for(int j=0;jbb.length;j++){

                bbb.add(bb[j]);

        }

        for(int m=0;maaa.size();m++){

            if(!bbb.contains(aaa.get(m))){

                String ccc=(String) aaa.get(m);

                result.append(ccc);

                result.append(',');

            }

        }

        return result.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中,从键盘上读入一个字符串,如何删除此字符串中所有相同的字母。如读入的字符串为good,得到gd

这是去重的完整代码

public static void main(String[] args) {

      Scanner input = new Scanner(System.in);

      System.out.print("请输入(连续相同数字将去重):");

      String temp=input.next();

      show(temp);

  }

  //去重方法

  public static void show(String str){

      char[] tempList=str.toCharArray();   //将得到的String型字符串转变为Char型字符

      for (int i = 0; i  tempList.length-1; i++) {     //循环数组

           if (tempList[i]==tempList[i+1]) {               //判断两个数是否相等,如果相等则去掉

              tempList[i]=0;                                       //如果相邻两数重复了  则为0 由于char是基本

              tempList[i+1]=0;                                   //类型,所以初始值为0,不过并不影响效果

          }

      }

      for (int i = 0; i  tempList.length; i++) { 

          if (tempList[i]!=0) {                                  //如果两数都不为0  则输出

              System.out.print(tempList[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 写一个 字符串去重 的程序!

先通过标点符号分词,然后去掉重复的词语。

String str=“人、药物、疾病、药物、疾病、人、药物、”;

String[] ss=str.split("、");

MapString,Boolean sm=new HashMapString,Boolean();

ListString l=new ArrayListString();

for(String s:ss){

if(!sm.containsKey(s)){

l.add(s);

sm.put(s,true);

}

最后l就是你去掉重复的词组之后所得的文本。组合起来就行了。

}

java读取字符串并去重的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java字符串、java读取字符串并去重的信息别忘了在本站进行查找喔。