「java读取字符串并去重」java字符串
本篇文章给大家谈谈java读取字符串并去重,以及java字符串对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java去除重复字符串的问题?
- 2、java如何去掉字符串中重复的字符
- 3、java中,从键盘上读入一个字符串,如何删除此字符串中所有相同的字母。如读入的字符串为good,得到gd
- 4、(算法)去除字符串中的重复字符(时间复杂度)
- 5、急求!!!!用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读取字符串并去重的信息别忘了在本站进行查找喔。