62,628
社区成员
发帖
与我相关
我的任务
分享 public static void main(String[] args) {
System.out.println(Stream.of(1, 3, 2, 5, 9, 0, 7, 2, 2, 4, 6, 5, 1, 6)
.collect(Collectors.groupingBy(i -> i, Collectors.counting()))
.entrySet()
.stream()
.sorted(Map.Entry.<Integer, Long>comparingByValue().thenComparing(Map.Entry.comparingByKey()).reversed())
.collect(Collectors.toList()));
}




public static String sortByTimes(int[] arr){
Map<Integer,Integer> result=new HashMap<Integer,Integer>();
for(int ele:arr){
result.put(ele, result.get(ele)!=null?(result.get(ele)+1):1);
}
List<Map.Entry<Integer, Integer>> list = new LinkedList<Map.Entry<Integer, Integer>>( result.entrySet() );
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> o1,
Map.Entry<Integer, Integer> o2) {
return (o2.getValue() - o1.getValue());
}
});
return list.toString().replaceAll("=",":").replaceAll("[\\[\\]]", " ").replaceAll(",","\n");
}
package testpackage;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class Test02 {
public static void main(String[] args) {
int[] arr = {1,3,2,5,9,0,7,2,2,4,6,5,1,6};
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
for(int i=0;i<arr.length;i++){
if(m.containsKey(arr[i])){
m.put(arr[i],m.get(arr[i])+1);
}else{
m.put(arr[i], 1);
}
}
Comparator<Number> com = new Comparator<Number>(){
@Override
public int compare(Number o1, Number o2) {
return o1.value-o2.value!=0?o2.value-o1.value:o1.key-o2.key;
}
};
List<Number> l = new ArrayList<>();
for(Entry<Integer,Integer> e:m.entrySet()){
Number num =new Number(e.getKey(),e.getValue());
l.add(num);
}
Collections.sort(l, com);
for(Number n : l){
System.out.println(n);
}
}
}
class Number {
int key;
int value;
public Number(int key, int value) {
super();
this.key = key;
this.value = value;
}
@Override
public String toString() {
return + key + ":" + value ;
}
}