# LRUCache 模块 `LRUCache` 模块实现了一个基于LRU(Least Recently Used)策略的缓存结构,用于存储键值对。LRU缓存在容量达到限制时,会淘汰最久未使用的项。 ## 使用方法 ### `new` 函数 ```rust pub fn new(capacity: usize) -> LRUCache ``` #### 参数 - `capacity`: `usize` - 缓存的容量 #### 返回值 - 返回一个新创建的 `LRUCache` 实例。 #### 例子 ```rust use lru::LRUCache; let mut lru_cache = LRUCache::new(3); ``` ### `get` 函数 ```rust pub fn get(&mut self, key: &K) -> Option<&V> ``` #### 参数 - `key`: `&K` - 要获取的键的引用 #### 返回值 - 返回一个 `Option<&V>`,如果存在则返回对应值的引用,否则返回 `None`。 #### 例子 ```rust use lru::LRUCache; let value = lru_cache.get(&"one"); ``` ### `put` 函数 ```rust pub fn put(&mut self, key: K, value: V) ``` #### 参数 - `key`: `K` - 要插入的键 - `value`: `V` - 要插入的值 #### 例子 ```rust use lru::LRUCache; lru_cache.put("one", 1); lru_cache.put("two", 2); ``` ## 示例 ```rust use lru::LRUCache; fn main() { let mut lru_cache = LRUCache::new(3); // 插入项 lru_cache.put("one", 1); lru_cache.put("two", 2); lru_cache.put("three", 3); // 访问一项以使其成为最近使用的项 let value = lru_cache.get(&"one"); println!("Value: {:?}", value); // 插入新项,淘汰最久未使用的项("two") lru_cache.put("four", 4); // 检查缓存的状态 println!("Cache: {:?}", lru_cache.cache); } ```