关注
后来想的写法,这样写比较简洁,用了些lambda表达式 import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] input = sc.nextLine().split(" ");
TreeMap<String, Set<String>> map = new TreeMap<>();
String[] mark;
Set<String> set;
for (String s : input) {
mark = s.split("-");
set = !map.containsKey(mark[1]) ? new HashSet<>() : map.get(mark[1]);
set.add(mark[0]);
map.put(mark[1], set);
}
List<Map.Entry<String, Set<String>>> list = new ArrayList<>(map.entrySet());
list.sort((Map.Entry<String, Set<String>> root, Map.Entry<String, Set<String>> next) ->
next.getValue().size() - root.getValue().size() != 0 ? next.getValue().size() - root.getValue().size() : root.getKey().compareTo(next.getKey()));
for (int i = 0; i < 3; i++) {
System.out.println(list.get(i).getKey() + " " + list.get(i).getValue().size());
}
}
}
查看原帖
点赞 1
相关推荐
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
727516次浏览 11702人参与
# 非技术岗是怎么找实习的 #
74552次浏览 1394人参与
# 海康威视求职进展汇总 #
91388次浏览 1091人参与
# 浅聊一下我实习的辛苦费 #
81454次浏览 761人参与
# 如何写一份好简历 #
262686次浏览 3963人参与
# 硬件人求职现状 #
184708次浏览 2705人参与
# 通信硬件人笔面经互助 #
111348次浏览 2235人参与
# 面试等了一周没回复,还有戏吗 #
40507次浏览 500人参与
# 机械制造面试记录 #
37576次浏览 505人参与
# 24届营销人拿到了几个offer #
4227次浏览 62人参与
# 铜五铁六真的存在吗? #
28200次浏览 298人参与
# 实习生应该准时下班吗 #
76721次浏览 569人参与
# 打工人的辛酸 #
8600次浏览 134人参与
# 运营人的第一份offer应该如何选 #
35254次浏览 642人参与
# 美的求职进展汇总 #
38873次浏览 418人参与
# 如何看待offer收割机的行为 #
223881次浏览 3253人参与
# 产品实习,你更倾向大公司or小公司 #
36398次浏览 558人参与
# 数据人offer决赛圈怎么选 #
44751次浏览 727人参与
# 实习与准备秋招该如何平衡 #
171638次浏览 3106人参与
# 通信硬件薪资爆料 #
200309次浏览 1818人参与