1. java如何去掉字符串中重复的字符
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
importjava.util.List;
importjava.util.Scanner;
publicclassDeleteRepeated{
privateStringstr;
privateTreeSet<String>noReapted;//带有String类型的TreeSet泛型
publicDeleteRepeated(){
Scannerin=newScanner(System.in);
System.out.println("输入一个字符串:");
str=in.nextLine();
noReapted=newTreeSet();
}
//清楚重复的数据
publicvoidremoveRepeated(){
for(inti=0;i<str.length();i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型所以先加一个""空格,转换成String型
//TreeSet泛型能保证重复的不加入,而且有序
}
str="";
for(Stringindex:noReapted){
str+=index;
}
//输出
System.out.println(str);
}
publicstaticvoidmain(String[]args){
DeleteRepeateddr=newDeleteRepeated();
dr.removeRepeated();
}
}
运行截图:
希望能帮助你哈
2. java去除重复字符串的问题
Stringa="1,2,3,4,5,6";
Stringb="6,3,1";
List<String>strs1=newArrayList<String>(Arrays.asList(a.split(",")));
List<String>strs2=newArrayList<String>(Arrays.asList(b.split(",")));
strs1.removeAll(strs2);
System.out.println(Arrays.toString(strs1.toArray()));
3. java字符串数组去重并计数
package lianXi;
public class helloWorld {
public static void main(String[] args) {
//初始化
String[][] rstop = { { "a", "b", "c", "d" }, { "b", "a", "b", "b" },
{ "e", "f", "g", "d" }, { "h", "i", "f", "k" } };
String[][] stop = new String[2][16];
for (int i = 0; i < stop.length; i++) {
for (int j = 0; j < stop[0].length; j++) {
stop[i][j] = "0";
}
}
int p = 0;
boolean boo = true;
//执行操作
for (int i = 0; i < rstop.length; i++) {
for (int j = 0; j < rstop[i].length; j++) {
for (int k = 0; k <= p; k++) {
if (stop[0][k].equals(rstop[i][j])) {
int temp = (Integer.parseInt(stop[1][k]) + 1);
stop[1][k] = temp + "";
boo = false;
break;
}
}
if (boo) {
stop[0][p] = rstop[i][j];
stop[1][p] = "1";
p++;
}
boo = true;
}
}
//输出结果
for (int i = 0; i < stop.length; i++) {
for (int j = 0; j < stop[0].length; j++) {
System.out.print(stop[i][j] + " ");
}
System.out.println();
}
}
}
结果如下:
4. Java 字符串去重
publicclassDemo8{
publicstaticvoidmain(String[]args){
System.out.println(removerepeatedchar("ddddccffgd"));
}
(Strings){
if(s==null)
returns;
StringBuildersb=newStringBuilder();
inti=0,len=s.length();
while(i<len){
charc=s.charAt(i);
sb.append(c);
i++;
while(i<len&&s.charAt(i)==c){
i++;
}
}
returnsb.toString();
}
}
5. 急求!!!!用java 写一个 字符串去重 的程序!
先通过标点符号分词,然后去掉重复的词语。
String str=“人、药物、疾病、药物、疾病、人、药物、”;
String[] ss=str.split("、");
Map<String,Boolean> sm=new HashMap<String,Boolean>();
List<String> l=new ArrayList<String>();
for(String s:ss){
if(!sm.containsKey(s)){
l.add(s);
sm.put(s,true);
}
最后l就是你去掉重复的词组之后所得的文本。组合起来就行了。
}
6. java中去掉字符串数组中重复的字符串(不改变原有顺序)并计数(不同的字符串重复了多少次)
String[]arr={"abc","bbc","abc","def"};
List<String>list=newArrayList<String>();
StringoldStr="";
for(StringcurrStr:arr){
if(oldStr.contains(currStr+",")){//已有跳过
continue;
}
list.add(currStr);
oldStr+=currStr+",";
intcount=0;
for(StringanArr:arr){
if(anArr.equals(currStr)){
count++;
}
}
System.out.println(currStr+"|"+count);
}
String[]strings=list.toArray(newString[list.size()]);
7. Java中如何将两个字符串合并,并且把重复的元素去掉,不能用任何排序指令那些,纯手打写出来。
packagetest;
publicclassStringHeBing{
publicstaticStringmerge(Stringstr1,Stringstr2){
intlen=str2.length();
for(inti=0;i<len;i++){
charc=str2.charAt(i);
if(str1.indexOf(c)==-1){
str1=str1.concat(c+"");
}
}
System.err.println(str1);
returnstr1;
}
publicstaticvoidmain(String[]args){
Stringstr1="上海金融大厦";
Stringstr2="上港集团";
merge(str1,str2);
}
}
上面的做法只把加加进来的字符串去重,而未把原来的字符串去重复,下面做了个新的
publicstaticStringmerge1(Stringstr1,Stringstr2){
Stringadd=str1.concat(str2);
Stringresult=add.charAt(0)+"";
for(inti=1;i<add.length();i++){
charc=add.charAt(i);
if(result.indexOf(c)==-1){
result=result.concat(c+"");
}
}
returnresult;
}