概述
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
/*
* //第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
* */
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int t = scanner.nextInt();
while (t-- > 0) {
int n = scanner.nextInt();
int[] a = new int[n];
for (int i = 0; i < a.length; i++) {
a[i] = scanner.nextInt();
}
Map<Integer, Integer> map = new HashMap<Integer,Integer>();
for (int i = 0; i < a.length; i++) {
Integer count = map.get(a[i]);
if (count == null) {
count = new Integer(1);
} else {
count = new Integer(count.intValue()+1);
}
map.put(a[i], count);
}
int max=-1;
int index=0;
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if(entry.getValue()>max){
max=entry.getValue();
index=entry.getKey();
}
}
int count=0;
for (Integer v : map.values()) {
if(v==max)count++;
}
if (count == 1) {
System.out.println(index);
} else {
System.out.println("Nobody");
}
}
}
}
最后
以上就是矮小飞机为你收集整理的遍历Map数组的4种方式的全部内容,希望文章能够帮你解决遍历Map数组的4种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复