我只想到这种效率比较低的
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String line=sc.nextLine();
String[] str=line.split(" ");
int n=str.length;
int[] array=new int[n];
for(int i=0;i<n;i++){
array[i]=Integer.parseInt(str[i]);
}
mySort(array);
}
private static void mySort(int[] array) {
LinkedHashMap<Integer,Integer> map=new LinkedHashMap<>();
int len=array.length;
for(int i=0;i<len;i++){
if(map.get(array[i])==null){
map.put(array[i], 1);
}else{
int count=map.get(array[i]);
count++;
map.put(array[i], count);
}
}
Set<Integer> key=map.keySet();
int n=key.size();
int[] value=new int[n];
int j=0;
for(int k:key){
value[j]=map.get(k);
j++;
}
Arrays.sort(value);
for(int i=n-1;i>=0;i--){
for(int k:key){
if(value[i]==map.get(k)){
for(int z=0;z<value[i];z++){
System.out.print(k);
System.out.print(" ");
}
map.put(k, 0);
}
}
}
}
}