當前位置:首頁 » 編程語言 » 重復數字java

重復數字java

發布時間: 2025-04-08 23:54:05

java for循環 怎樣把一個list里相同的數據放到一起

通過題主的描述可以看到,其實就是一個List<Integer>的集合數據處理問題,希望把相同的數據放到一起,是一種歸類操作,也就是說其實總得需要把List<Integer>形式轉化為Map<Integer, List<Integer>>的形式

這種形式map的key也就是當前的這個數字,而這個value就是這個數字對應的所有當前出現此key的集合

List<Integer>list=Arrays.asList(1,1,2,3,4,2,1);
Map<Integer,List<Integer>>map=newHashMap<>();
for(Integernum:list){
//map是否包含此key,若已經包含則添加一個新的數字到對應value集合中
if(map.containsKey(num)){
map.get(num).add(num);
}else{
//map不包含此key,則重新創建一個新集合,並把這個數字添加進集合
//,再把集合放到map中
List<Integer>newList=newArrayList<>();
newList.add(num);
map.put(num,newList);
}
}
System.out.println(map);

輸出結果

結果也是一樣的,題主可以自行選擇

Ⅱ 求救,有四個數 1,2,3,5,任意相加(可以重復)等於一個固定值N(<15),列出所有可能組合,用java實現!

演算法如下:N=1+1+1+1+1+...+1(共N個1) 一種
若N-1>0 N=2+1+1+1+1+...+1(共N-1個1)N-1種(兩個1換個2)
若N-2>0 N=3+1+1+1+...+1(共N-2個1)N-2種(三個1換個3)
若N-4>0 N=5+1+...+1(共N-4個1)N-4種(五個1換個5,還有2,3換5的情況)
5=(2+3)=(3+2)=(1+2+2)=(2+1+2)=(2+2+1) 5種
故N>=5時有 5*(N-4) + (N-2) + (N-1) + 1
求組合也是差不多,替換就行

Ⅲ java一個txt文檔中有100個手機號,有可能會有重復的,如何用最快的方法找出重復的

建立一顆樹,建立的過程為:

1)開始的時候樹是空的。
2)逐個讀取手機行,比如讀入一個手機號為:12345678900,在樹中插入這個手機號後,樹為:
root
└─1
└─2
└─3
└─4
└─5
└─6
└─7
└─8
└─9
└─0
└─0

3)插入若干手機號後,樹可能是這樣的:
root
└─1
├─2
│ └─3
│ └─4
│ └─5
│ └─6
│ ├─6
│ │ └─8
│ │ └─9
│ │ └─0
│ │ ├─0
│ │ └─1
│ └─7
│ └─8
│ └─9
│ └─0
│ ├─0
│ └─1
├─5
│ └─3
│ └─4
│ └─5
│ └─6
│ └─7
│ └─8
│ └─9
│ └─0
│ └─0
└─7
└─3
└─4
└─5
└─6
└─7
└─8
└─9

這顆數一共有 6 個手機號,分別是:
12345668900
12345668901
12345678900
12345678901
15345678900
17345678900

4)判斷一個手機號是不是重復的,只要在這顆樹裡面,逐層逐個數字查找就可以了。

5)效率分析:這種演算法,插入一個新的手機號,以及查找一個手機號是否重復,效率都是很高的。

Ⅳ java int數組中 移除指定重復的數字

上段粗糙的代碼:

publicstaticint[]removeCu(inta){
//通過指定數字a刪除它
//比如這個數字為3
ArrayListlst=newArrayList();
for(inti=0;i<coun.length;i++){
if(coun[i]!=a){
lst.add(coun[i]);
}
}
int[]rs=newint[lst!=null?lst.size():0];
for(intj=0;j<rs.length;j++){
rs[j]=Integer.parseInt(lst.get(j).toString());
}
System.out.println(Arrays.toString(rs));

returnrs;
}

Ⅳ java中怎麼樣子找出數組中重復的數,並去除

其實只要遍歷數組,然後放進set集合內即可實現。
比如:
//set集合可以自動去重
Integer[] a = {1, 2, 2 , 19, 19, 8, 9};
Set<Integer> set = new HashSet<Integer>();
for(Integer i : a)
set.add(i);
for(Object s: set.toArray())
System.out.print(s+ " ");
}

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:619
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:346
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:61
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:288
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:781
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:333
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:196
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:785
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:349
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:578