java數(shù)組中去掉重復(fù)數(shù)據(jù)可以使用set集合,set本身內(nèi)部是不保存重復(fù)的數(shù)據(jù)的,如下代碼:
達(dá)拉特ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
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?};//新建一個(gè)int類(lèi)型數(shù)組????????System.out.println(Arrays.toString(testArr));????????SetInteger?set?=?new?TreeSetInteger();//新建一個(gè)set集合????????for?(int?i?:?testArr)?{????????????set.add(i);????????}????????Integer[]?arr2?=?set.toArray(new?Integer[0]);????????//?數(shù)組的包裝類(lèi)型不能轉(zhuǎn)?只能自己轉(zhuǎn);吧Integer轉(zhuǎn)為為int數(shù)組;????????int[]?result?=?new?int[arr2.length];????????for?(int?i?=?0;?i??result.length;?i++)?{????????????result[i]?=?arr2[i];????????}????????System.out.println(Arrays.toString(arr2));????}}
運(yùn)行結(jié)果如下:
java中找出數(shù)組中重復(fù)的數(shù)并去除的代碼如下:
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]);?//返回一個(gè)包含所有對(duì)象的指定類(lèi)型的數(shù)組??
for?(String?elementB:newStr?)?{?
System.out.print(elementB?+?"?");?
}?
System.out.println();?
}
所謂數(shù)組,是無(wú)序的元素序列。 若將有限個(gè)類(lèi)型相同的變量的集合命名,那么這個(gè)名稱(chēng)為數(shù)組名。組成數(shù)組的各個(gè)變量稱(chēng)為數(shù)組的分量,也稱(chēng)為數(shù)組的元素,有時(shí)也稱(chēng)為下標(biāo)變量。用于區(qū)分?jǐn)?shù)組的各個(gè)元素的數(shù)字編號(hào)稱(chēng)為下標(biāo)。數(shù)組是在程序設(shè)計(jì)中,為了處理方便, 把具有相同類(lèi)型的若干元素按無(wú)序的形式組織起來(lái)的一種形式。 這些無(wú)序排列的同類(lèi)數(shù)據(jù)元素的集合稱(chēng)為數(shù)組。
舉例:
int a[10]; 說(shuō)明整型數(shù)組a,有10個(gè)元素。
float b[10],c[20]; 說(shuō)明實(shí)型數(shù)組b,有10個(gè)元素,實(shí)型數(shù)組c,有20個(gè)元素。
char ch[20]; 說(shuō)明字符數(shù)組ch,有20個(gè)元素。
數(shù)組中的所有元素都具有相同類(lèi)型(這一點(diǎn)和結(jié)構(gòu)或類(lèi)中的字段不同,它們可以是不同類(lèi)型)。數(shù)組中的元素存儲(chǔ)在一個(gè)連續(xù)性的內(nèi)存塊中,并通過(guò)索引來(lái)訪問(wèn)(這一點(diǎn)也和結(jié)構(gòu)和類(lèi)中的字段不同,它們通過(guò)名稱(chēng)來(lái)訪問(wèn))。
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)改成這樣就可以了。因?yàn)槟忝看螆?zhí)行完delete之后,當(dāng)前的length已經(jīng)變了,下次循環(huán)就會(huì)少遍歷后面的一個(gè)字符。所以會(huì)出現(xiàn)這種情況
lz ?你好
這個(gè)就是一個(gè)比較簡(jiǎn)單的算法題 , 你可以自己寫(xiě)
但是用Java語(yǔ)言就不需要了 , Java自帶泛型相關(guān)的類(lèi) , 很有用
其中TreeSet集合能自動(dòng)識(shí)別添加的是否重復(fù) , 重復(fù)的將不會(huì)添加 , 很方便
以下是實(shí)現(xiàn)代碼:
import?java.util.List;
import?java.util.Scanner;
public?class?DeleteRepeated?{
private?String?str;
private?TreeSetString?noReapted;//帶有String類(lèi)型的TreeSet泛型
public?DeleteRepeated()?{
Scanner?in?=?new?Scanner(System.in);
System.out.println?("輸入一個(gè)字符串:");
str?=?in.nextLine();
noReapted?=?new?TreeSet();
}
//清楚重復(fù)的數(shù)據(jù)
public?void?removeRepeated(){
for?(int?i?=?0;?i??str.length();?i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型??所以先加一個(gè)""空格?,?轉(zhuǎn)換成String型
//TreeSet泛型能保證重復(fù)的不加入?,?而且有序
}
str?=?"";
for(String?index:noReapted){
str?+=?index;
}
//輸出
System.out.println?(str);
}
public?static?void?main(String[]?args)?{
DeleteRepeated?dr?=?new?DeleteRepeated();
dr.removeRepeated();
}
}
運(yùn)行截圖:
希望能幫助你哈