需求:
某个班级80名学生,现在需要组成秋游活动,班长提供了四个景点(A,B,C,D),每个学生只能选择一个景点,请统计出哪个景点想去的人数最多
代码:
import java.util.*;
public class Demo02 {
public static void main(String[] args) {
String []a=new String[]{"A","B","C","D"};
Random random = new Random();
ArrayList<String> strings = new ArrayList<>();
//随机人选票
for (int i = 0; i < 80; i++) {
int i2 = random.nextInt(a.length);
strings.add(a[i2]);
}
HashMap<String, Integer> map = new HashMap<>();
for (String s : strings) {
if (map.containsKey(s)){
//获取键的值
int i = map.get(s);
i++;
map.put(s,i);
}else {
map.put(s,1);
}
}
int mun=0;
//求最大值
Set<Map.Entry<String, Integer>> set = map.entrySet();
for (Map.Entry<String, Integer> entry : set) {
int value = entry.getValue();
if (value>mun){
mun=value;
}
}
//最大的求键
Set<Map.Entry<String, Integer>> set1 = map.entrySet();
for (Map.Entry<String, Integer> entry : set1) {
int value = entry.getValue();
if (value==mun){
System.out.println(entry.getKey());
}
}
}
}
结果:
A