mirror of
https://github.com/HDT3213/godis.git
synced 2025-10-05 16:57:06 +08:00
quick list
This commit is contained in:
24
datastruct/list/interface.go
Normal file
24
datastruct/list/interface.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package list
|
||||
|
||||
// Expected check whether given item is equals to expected value
|
||||
type Expected func(a interface{}) bool
|
||||
|
||||
// Consumer traverses list.
|
||||
// It receives index and value as params, returns true to continue traversal, while returns false to break
|
||||
type Consumer func(i int, v interface{}) bool
|
||||
|
||||
type List interface {
|
||||
Add(val interface{})
|
||||
Get(index int) (val interface{})
|
||||
Set(index int, val interface{})
|
||||
Insert(index int, val interface{})
|
||||
Remove(index int) (val interface{})
|
||||
RemoveLast() (val interface{})
|
||||
RemoveAllByVal(expected Expected) int
|
||||
RemoveByVal(expected Expected, count int) int
|
||||
ReverseRemoveByVal(expected Expected, count int) int
|
||||
Len() int
|
||||
ForEach(consumer Consumer)
|
||||
Contains(expected Expected) bool
|
||||
Range(start int, stop int) []interface{}
|
||||
}
|
Reference in New Issue
Block a user