不用LinkedHashMap的方法

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
             Scanner in = new Scanner(System.in);
        //定义数据结构
        Map<String,Integer> countMap = new HashMap<>();
        LinkedList<String> queue = new LinkedList<>();
        while (in.hasNextLine()){
            String s = in.nextLine();
            //处理字符串
            String[] arr1 = s.split("\\\\");
            String[] arr2 = arr1[arr1.length - 1].split(" ");
            String fileName = arr2[0];
            String lineNum = arr2[1];
            while(fileName.length()>16){
                fileName = fileName.substring(1);
            }
            String key = fileName+" "+lineNum;
            //只容纳八个
            if(!countMap.containsKey(key)){
                queue.addLast(key);
                if(queue.size()>8){
                    queue.removeFirst();
                }
            }
            //统计数量
            if(countMap.containsKey(key)){
                countMap.replace(key,countMap.get(key)+1);
            }else {
                countMap.put(key,1);
            }

        }
        for (String item : queue) {
            System.out.println(item+" "+countMap.get(item));
        }

    }
}

全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务