java數組中去掉重復數據可以使用set集合,set本身內部是不保存重復的數據的,如下代碼:

達拉特ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
import?java.util.Arrays;import?java.util.Set;import?java.util.TreeSet;?public?class?ceshi?{????public?static?void?main(String[]?args)?{?????????int[]?testArr?=?{?5,?5,?1,?2,?3,?6,?-7,?8,?6,?45,?5?};//新建一個int類型數組????????System.out.println(Arrays.toString(testArr));????????SetInteger?set?=?new?TreeSetInteger();//新建一個set集合????????for?(int?i?:?testArr)?{????????????set.add(i);????????}????????Integer[]?arr2?=?set.toArray(new?Integer[0]);????????//?數組的包裝類型不能轉?只能自己轉;吧Integer轉為為int數組;????????int[]?result?=?new?int[arr2.length];????????for?(int?i?=?0;?i??result.length;?i++)?{????????????result[i]?=?arr2[i];????????}????????System.out.println(Arrays.toString(arr2));????}}
運行結果如下:
java中找出數組中重復的數并去除的代碼如下:
public?static?void?testA()?{?
String?[]?str?=?{"Java",?"C++",?"Php",?"C#",?"Python",?"C++",?"Java"};?
for?(String?elementA:str?)?{?
System.out.print(elementA?+?"?");?
}?
ListString?list?=?new?ArrayListString();?
for?(int?i=0;?istr.length;?i++)?{?
if(!list.contains(str[i]))?{?
list.add(str[i]);?
}?
}?
System.out.println();?
String[]?newStr?=?list.toArray(new?String[1]);?//返回一個包含所有對象的指定類型的數組??
for?(String?elementB:newStr?)?{?
System.out.print(elementB?+?"?");?
}?
System.out.println();?
}
所謂數組,是無序的元素序列。 若將有限個類型相同的變量的集合命名,那么這個名稱為數組名。組成數組的各個變量稱為數組的分量,也稱為數組的元素,有時也稱為下標變量。用于區(qū)分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按無序的形式組織起來的一種形式。 這些無序排列的同類數據元素的集合稱為數組。
舉例:
int a[10]; 說明整型數組a,有10個元素。
float b[10],c[20]; 說明實型數組b,有10個元素,實型數組c,有20個元素。
char ch[20]; 說明字符數組ch,有20個元素。
數組中的所有元素都具有相同類型(這一點和結構或類中的字段不同,它們可以是不同類型)。數組中的元素存儲在一個連續(xù)性的內存塊中,并通過索引來訪問(這一點也和結構和類中的字段不同,它們通過名稱來訪問)。
for(int?j=sb.length()?-?1;?j??i;?j--)?{
if(sb.charAt(i)==sb.charAt(j))?{
sb.deleteCharAt(j);
System.out.println("整理后的字符串為:"+sb);
}
}
把里面的for循環(huán)改成這樣就可以了。因為你每次執(zhí)行完delete之后,當前的length已經變了,下次循環(huán)就會少遍歷后面的一個字符。所以會出現這種情況
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字符串去重復代碼,java重復代碼多怎么解決
瀏覽地址:http://chinadenli.net/article29/dsgoijh.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站制作、做網站、品牌網站建設、網站營銷、關鍵詞優(yōu)化、自適應網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)