求一个集合中出现次数最多的元素
import java
.util
.ArrayList
;
import java
.util
.HashMap
;
import java
.util
.Iterator
;
import java
.util
.List
;
import java
.util
.Map
;
public class Demo
{
public static void main(String
[] args
)
{
List
<Integer> list
= new ArrayList<>();
List
<Integer> list1
= new ArrayList<>();
HashMap
<Integer, Integer> map
= new HashMap<Integer, Integer>();
int count
=0;
list
.add(12);
list
.add(23);
list
.add(12);
list
.add(12);
list
.add(23);
list
.add(23);
list
.add(23);
list
.add(23);
for (int i
= 0; i
< list
.size(); i
++) {
for (int j
= i
+ 1; j
< list
.size(); j
++) {
if (list
.get(i
).equals(list
.get(j
))) {
list1
.add(list
.get(i
));
break;
}
}
}
for (Integer li
:list1
) {
if (map
.containsKey(li
)){
count
++;
map
.put(li
,map
.get(li
).intValue()+1);
}else {
map
.put(li
,1);
}
}
System
.out
.println("count="+count
);
list1
.clear();
Iterator
<Map
.Entry
<Integer, Integer>> iterator
= map
.entrySet().iterator();
while (iterator
.hasNext()){
Map
.Entry
<Integer, Integer> entry
= iterator
.next();
if(entry
.getValue() == count
){
list1
.add(entry
.getKey());
}
System
.out
.println("key="+entry
.getKey()+","+"value="+entry
.getValue());
}
if (list1
.size() > 1) {
System
.out
.println(list1
+ "出现的次数一样多,一共出现了:" + (count
+ 1) + "次");
}
if (list1
.size() == 1) {
System
.out
.println("出现最多次数的是:" + list1
+ ",总共出现了:" + (count
+ 1) + "次");
}
}
}
转载请注明原文地址:https://tech.qufami.com/read-9093.html