導航:首頁 > 編程語言 > java去掉重復字元

java去掉重復字元

發布時間:2024-09-15 16:42:37

『壹』 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();
}
}



運行截圖:



希望能幫助你哈

『貳』 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;
}
閱讀全文

與java去掉重復字元相關的資料

熱點內容
單片機延時程序計算 瀏覽:442
編譯原理語法翻譯 瀏覽:502
pr編譯出錯渲染存在偏移 瀏覽:260
如何製作自家的app 瀏覽:197
推薦一個解壓軟體rar解壓幫手 瀏覽:207
wd文檔加密器 瀏覽:745
伺服器上傳壓縮包一般是什麼格式 瀏覽:331
發送加密文件密碼幾位數 瀏覽:158
樹洞app怎麼樣 瀏覽:173
vivo編譯時間可以改么 瀏覽:147
編譯和編輯怎麼區分 瀏覽:979
iar編譯文件順序 瀏覽:898
java二叉搜索樹 瀏覽:633
王者怎麼看好友的伺服器 瀏覽:733
無線編碼單片機 瀏覽:464
天聯高級版域名伺服器地址 瀏覽:206
鴻蒙用什麼編譯 瀏覽:730
伺服器如何迅速擴容 瀏覽:792
伺服器無固定ip地址不 瀏覽:643
安卓手機如何折扣充值 瀏覽:996