存储List
1:ArrayList使用数组方式
2:使用LinkList双向连接方式
3:双向链表中增加数据
4:双向链表中删除数据
常用命令:
1:两端添加
lpush mylist a b c
向mylist左端添加a、b、c三个值
虽然说我们没有mylist但是系统会帮我们自动创建
之后我们又向左侧添加了1、2、3
现在我们的list应该是 321cba
之后我们再向右侧添加
rpush mylist 7 8 9
现在我们的list里的数据是321cba789
2:查看列表
lrange mylist start end(end如果为-1则代表链表尾部的元素,-2则代表倒数第二个)
3:两端弹出
lpop mylist 弹出最左面的元素
rpop mylist 弹出最右面的元素
如果不存在返回nil
弹出时返回的是被弹出的元素
如果list中的元素都被弹出则该list也会被系统清除
4:获取列表元素个数
llen mylist
如果没有该list则返回长度0
5:拓展命令
lpushx mylist aaa 这个就是向list头部插入一个值,如果该list不存在,则不进行插入
rpushx mylist bbb相同道理
我没有mylist3所以返回list长度为0
lrem mylist count(这个是数字) value(值)
删除mylist中值为value的数据count个
如果
count>0,从前往后遍历删除count个
count<0,从后面向前面遍历删除-count个
count=0,删除所有value的值
我们从头到尾删除两个 a
lrem mylist 2 a
之后我们发现5) 6)没了
之后我们在从尾到头删除2个a
lrem mylist -2 a
这时应该18) 14)位置的a消失,我们试验下
这时我们要删除所有的a
lrem mylist 0 a
成功
我们可以操作链表的角标
在某一个位置添加元素 lset mylist 3 wsy
在3的位置上添加wsy(和java一样,角标从0开始)
linsert mylist4 before b 11
在值b之前插入11
linsert mylist4 after b 11
在值b之后插入11
(不要理会那个rinert - -!)
rpoplpush mylist4 mylist:将链表mylist4中尾部数据弹出,再添加在mylist链表头部
这个命令个可以进行消息队列的处理