Skip to main content

List 类型

David LiuLess than 1 minute

List 类型

类似 LinkedList,可以看做一个双向链表

特征:

  • 有序
  • 元素可以重复
  • 插入和删除快
  • 查询速度一般

常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等。

常见命令

  • lpush 向列表左侧插入一个或多个元素
  • lpop 移除并返回列表左侧的第一个
  • rpush 向列表右侧插入一个或多个元素
  • rpop 移除并返回列表右侧的第一个元素
  • Lrange key start end
  • BLPOP 会阻塞指定时间,等到有元素了再 pop
  • BRPOP 会阻塞指定时间

如何利用 List 结构模拟一个栈?

  • 入口和出口在同一边

如何利用 List 结构模拟一个队列?

  • 入口和出口在不同边

如何利用 List 结构模拟一个阻塞队列?

  • 入口和出口在不同边
  • 出队时采用 BLPOP 或 BRPOP