//用的linkedhashmap import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Scanner; public class Main { public static void sort(int[] num){ LinkedHashMap<Integer, Integer> map=new LinkedHashMap<>(); for (int i = 0; i < num.length; i++) { if (map.containsKey(num[i])) { map.put(num[i], map.get(num[i])+1); } else { map.put(num[i], 1); } } List<Map.Entry<Integer, Integer>> list=new ArrayList<>(map.entrySet()); Collections.sort(list,new Comparator<Map.Entry<Integer, Integer>>() { public int compare(Entry<Integer, Integer>o1,Entry<Integer, Integer>o2){ return o2.getValue().compareTo(o1.getValue()); } }); List<Integer> list1=new ArrayList<>(); List<Integer> list2=new ArrayList<>(); for(Entry<Integer, Integer> mapp:list){ list1.add(mapp.getKey()); list2.add(mapp.getValue()); } int[] newnum=new int[num.length]; int j=0; int index=0; for (int i = 0; i < list2.size(); i++) { while(index<list2.get(i)){ newnum[j]=list1.get(i); j++; index++; } index=0; } for (int i = 0; i < newnum.length; i++) { System.out.println(newnum[i]); } } public static void main(String[] args) { int[] num={1,1,1,2,3,3,4}; sort(num); } }
点赞 1

相关推荐

昨天 11:08
门头沟学院 Java
投递京东等公司9个岗位
点赞 评论 收藏
分享
05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务