當前位置:首頁 » 編程語言 » 重復數字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+ " ");
}

熱點內容
c語言else的用法 發布:2025-07-15 09:19:54 瀏覽:117
tnt蘋果核安卓怎麼加好友 發布:2025-07-15 09:05:15 瀏覽:238
年輕人運行內存為什麼比安卓好 發布:2025-07-15 08:52:03 瀏覽:514
怎麼配置組策略 發布:2025-07-15 08:52:02 瀏覽:245
pythonjson格式 發布:2025-07-15 08:42:54 瀏覽:677
醫院葯房要什麼配置 發布:2025-07-15 08:29:55 瀏覽:665
編程說明書 發布:2025-07-15 08:16:39 瀏覽:760
android請求超時 發布:2025-07-15 07:56:57 瀏覽:530
修改linux的主機名 發布:2025-07-15 07:52:46 瀏覽:907
天龍八部自動挖礦腳本怎麼寫 發布:2025-07-15 07:42:01 瀏覽:648