gitee.com/zhongguo168a/gocodes@v0.0.0-20230609140523-e1828349603f/datax/listx/constraints/iface.go (about)

     1  package constraints
     2  
     3  type IList[V comparable] interface {
     4  	Add(items ...V)
     5  	AddConf(cond func(index int, item V) bool, items ...V)
     6  	Set(index int, val V)
     7  	SetList(val []V)
     8  	At(index int) V
     9  	Clear()
    10  	Dispose()
    11  	Clone() *List[V]
    12  	Contains(item V) bool
    13  	ContainsCond(cond func(index int, item V) bool) bool
    14  	CountCond(cond func(index int, item V) bool) int
    15  	Every(cond func(index int, item V) bool) bool
    16  	First(cond func(index int, item V) bool) (val V, has bool)
    17  	Filter(cond func(index int, item V) bool) *List[V]
    18  	ForRange(handler func(index int, item V) error)
    19  	IndexOfConf(cond func(index int, item V) bool) int
    20  	IndexOf(item V) int
    21  	Last(cond func(index int, item V) bool) (val V, has bool)
    22  	Length() int
    23  	Pop() V
    24  	Push(item V)
    25  	PushList(val IList[V])
    26  	Remove(item V)
    27  	RemoveAt(i int)
    28  	Replace(i int, item V)
    29  	Reverse()
    30  	Shift() V
    31  	Slice() []V
    32  	Self() *List[V]
    33  	Sort(compare func(a, b V) int)
    34  	Unshift(item V)
    35  	Unique() *List[V]
    36  	UniqueByCustomKey(getKey func(item V) string) *List[V]
    37  	Union(a IList[V]) *List[V]
    38  	UnionByCustomKey(a IList[V], getKey func(a V) string) *List[V]
    39  
    40  	GroupByCount(count int) (r []*List[V])
    41  	GroupByCustomKey(getKey func(item V) string) map[string]*List[V]
    42  }