LRU

来源:2-4 容器、集合、映射:实现Key-Value的LRU

weixin_慕仙2234401

2021-12-14

为什么这里是

var it = cache.keySet().iterator()

而不是

var it = cache.entrySet().iterator()

为什么一个keySet的iterator到了iterator函数里面又变成了一个以entrySet为主的iterator?
http://img.mukewang.com/szimg/61b8250009d31a4b06180398.jpg
http://img.mukewang.com/szimg/61b8247409c1e52106350350.jpg

写回答

1回答

weixin_慕仙2234401

提问者

2021-12-23

我又调试代码改了改

发现其实在cache函数里用entrySet是可以实现的

System.out.println(
        "leave <-"+
                StreamSupport.stream(lru.spliterator(), false)
                        .map(x -> x.toString())
                        .collect(Collectors.joining("<-"))
);

只是这个lru.spliterator()没办法把entry转化成string所以不能正常print

1
1
求老仙
可🉑,很不错
2022-01-03
共1条回复

笑傲Java面试 剖析大厂高频面试真题 秒变offer收割机

深度剖析大厂面试高频真题,让你秒变offer收割机

1783 学习 · 314 问题

查看课程