找出数组中重复元素最多的数
使用Map映射表实现:
import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Iterator;
public class Main {
public static void main(String[] args){
String[] str = {"3","5","1","2","2","3","2","1","1","4","4","4"};
Map<String,Integer> map = new HashMap<String,Integer>();
for(int i=0;i<str.length;i++){
if(map.containsKey(str[i])){
map.put(str[i], map.get(str[i])+1);
}else{
map.put(str[i], 1);
}
}
System.out.println(findMaxCount(map));
}
public static String findMaxCount(Map<String,Integer> m){
StringBuffer max = new StringBuffer();
int num = 0;
String name;
int count;
Iterator<Entry<String, Integer>> iter = m.entrySet().iterator();
while(iter.hasNext()){
Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>) iter.next();
name = entry.getKey();
count =entry.getValue();
System.out.println("key is:"+name+"----value:"+count);
if(count>num){
num = count;
max.delete(0, max.length());
max.append(name+" ");
}else if(count==num){
max.append(name+" ");
}
}
return max.toString();
}
}
结果:


浙公网安备 33010602011771号