go list
# 简介
在Go语言中,list 包是标准库中 提供的一个双向链表(doubly linked list)实现。它提供了一种方便的数据结构,用于存储和操作双向链表的元素。
# 如何使用
- 包
container/list - 如何创建一个list
list:=list.New()
# 常见方法
list.List类型:list.List是双向链表的主要类型,表示一个双向链表的实例。它包含了双向链表的头部和尾部元素,以及当前链表中的元素数量。list.Element类型:list.Element表示list.List中的一个元素,即链表中的节点。每个节点都包含了一个Value字段,可以存储任意类型的数据。func (l *List) PushFront(v interface{}) *Element:将一个值v插入到双向链表的头部,并返回对应的链表元素Element。func (l *List) PushBack(v interface{}) *Element:将一个值v插入到双向链表的尾部,并返回对应的链表元素Element。func (l *List) Remove(e *Element):从链表中移除给定的链表元素e。func (l *List) MoveToFront(e *Element):将给定的链表元素e移动到链表的头部。func (l *List) MoveToBack(e *Element):将给定的链表元素e移动到链表的尾部。func (l *List) Len() int:返回链表中元素的数量。func (l *List) Front() *Element:返回链表的头部元素。func (l *List) Back() *Element:返回链表的尾部元素。
比较java的LinkedList,java的LinkedList无法将某些元素移动到列表尾部或顶部,go可以通过这个特性很简单的实现LRU算法
编辑 (opens new window)
上次更新: 2024/02/22, 14:03:19