利用list和map集合:
list存放键(键包括文件名+行码),list的作用是存放所有键,不包括此键,新建map,包括此键,更新map。
map存放键(同list的键),值(出现次数),每次新建或迭代更新键值,并放入list。
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        List<String> list = new ArrayList<>();
        Map<String, Integer> map = new HashMap<>();
        while(sc.hasNextLine()){
            String[] strs = sc.nextLine().split(" ");
            String[] fdir = strs[0].split("\\\\");
            String  fname = fdir[fdir.length-1];
            if(fname.length()>16){
                fname = fname.substring(fname.length()-16);
            }
            
            if(list.contains(fname+" "+strs[1])){
                map.put(fname+" "+strs[1],map.get(fname+" "+strs[1]) + 1);
            }else{
                map.put(fname+" "+strs[1],1);
                list.add(fname+" "+strs[1]);
            }
        }
        int start = list.size()-8;
        for(int j =0;j<list.size();j++,start--){
            if(start<=0){
                System.out.println(list.get(j)+" "+map.get(list.get(j)));
            }
        }
    }
}