题目描述:
测试团队里,我们会对多个应用进行覆盖率统计,比如应用A,B,C.....N,现在我们希望统计出代码覆盖率在<=20,21~50,51~70以及>70这几个区间内的应用个数,并按照应用个数由大到小的顺序对这几个区间进行排序
输入:
A:45,C:35,D:9,F:43,M:10,G:90
输出:
21~50:3,<=20:2,>70:1,51~70:0
笔试时时间有限,没有做出来,主要卡在怎么对map中的value进行排序这一步上
后来查了API发现Map有一个方法可以把键值对封装成Entry类,只要把Entry类放入List中传入自定义比较器进行排序就可以了
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
Map<String,Integer> map = new HashMap<>();
map.put("<=20",0);
map.put("21~50",0);
map.put("51~70",0);
map.put(">70",0);
String[] str = s.split(","