crossoverJie
crossoverJie
@Jason-HuHu 我这里没有原图了,方便的话你可以重新画一个然后发起 PR 替换。
@crackh 你看的是这里的代码吧: https://github.com/crossoverJie/Java-Interview/blob/049dea531bd962a5ae3285a74592abd5e148396e/src/main/java/com/crossoverjie/actual/LRUAbstractMap.java#L41 这个版本的 LRU 并不完整(这点确实有问题),有些 bug,不过可以看下思路,以及 HashMap 的一个写入、获取流程。 建议你查看: https://github.com/crossoverJie/Java-Interview/blob/049dea531bd962a5ae3285a74592abd5e148396e/src/main/java/com/crossoverjie/actual/LRUMap.java#L13 这里没有实现 remove 函数,不过也挺简单。 删除时只需要将 `cacheMap` 内的数据移除,以及从内部的链表移除即可。
@1yus2yus3 请把你测试的这段代码贴下,我模拟试试。
@Askerlve 你是指第一次冲突的时候 `nNode.next` 是空的意思嘛?
@Askerlve 嗯 是有这个问题,如果桶中只有一个数据那就确实 put 不进去了,这种边界值的问题当时没有认真考虑,有兴趣可以提个 PR. thx.
好的 可以本地自测没问题之后提个 PR ,我本地再测测,review 下。
@aworker 暂时没时间处理,感兴趣可以提个 `PR` 来修复。
@candyleer 会有方面的计划,持续关注。
@zhenglinj 1. 第一点可以。 2. 第二点没看太懂,是要介绍相关书籍嘛?
@zhenglinj 这个和本厂库的主要目的有点不太相符,不过近期有推荐一些书籍可以看看。 [https://crossoverjie.top/2018/08/12/personal/how-to-be-developer/#%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80](https://crossoverjie.top/2018/08/12/personal/how-to-be-developer/#%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80)