第一次写好激动!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
有更好的方法请留下您宝贵的意见,谢谢啦
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Scanner; public class cs { public static void main(String args[]){ Scanner in=new Scanner(System.in); int length=in.nextInt(); int[] array = new int[length]; for(int i=0;i<array.length;i++){ array[i]=in.nextInt(); } Arrays.sort(array); Map<Integer,Integer> map=new HashMap<Integer,Integer>(); for(int i:array){ Integer a=map.get(i); if(a==null){ map.put(i, 1); } else map.put(i,a+1); } sortByValue(map); Iterator<Entry<Integer, Integer>> it=map.entrySet().iterator(); while(it.hasNext()){ Entry<Integer, Integer> entry=it.next(); System.out.println(entry.getKey()+"出现"+entry.getValue()+"次"); } } public static void sortByValue(Map map){ List<Map.Entry<Integer, Integer>> infoIds=new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet()); Collections.sort(infoIds,new Comparator<Map.Entry<Integer, Integer>>(){ public int compare(Map.Entry<Integer, Integer> o1,Map.Entry<Integer, Integer> o2){ return (o1.getValue()-o2.getValue()); } }); } }