import java.util.ArrayList;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
static class Keyword{
String string;
int count;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
TreeMap<String, Integer> map=new TreeMap<>();
String string[]=scanner.nextLine().split(" ");
for (int i = 0; i < string.length; i++) {
map.put(string[i], map.getOrDefault(string[i], 0)+1);
}
ArrayList<Keyword> list=new ArrayList<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if(entry.getValue()>=3) {
Keyword keyword=new Keyword();
keyword.string=entry.getKey();
keyword.count=entry.getValue();
list.add(keyword);
}
}
list.sort((k1,k2)->{
if(k1.count!=k2.count) {
return k2.count-k1.count;
}
return k1.string.compareTo(k2.string);
});
for (Keyword keyword : list) {
System.out.println(keyword.string);
}
}
}
这题很适合使用键值对的形式先行存储数据,后面要排序就把符合条件的键值对生成对应的对象,然后传给集合排序



京公网安备 11010502036488号