Documentation
# LRUCache 模块

`LRUCache` 模块实现了一个基于LRU(Least Recently Used)策略的缓存结构,用于存储键值对。LRU缓存在容量达到限制时,会淘汰最久未使用的项。

## 使用方法

### `new` 函数

```rust
pub fn new(capacity: usize) -> LRUCache<K, V>
```

#### 参数

- `capacity`: `usize` - 缓存的容量

#### 返回值

- 返回一个新创建的 `LRUCache<K, V>` 实例。

#### 例子

```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);
}
```