Documentation ¶
Index ¶
- func Map[K comparable, V any](l *List[K], f func(K) V) []V
- func MapE[K comparable, V any](l *List[K], f func(K) (V, error)) ([]V, error)
- func Sort[T constraints.Ordered](l *List[T])
- func SortFunc[T comparable](l *List[T], less func(a, b T) bool)
- func SortStableFunc[T comparable](l *List[T], less func(a, b T) bool)
- type List
- func (l *List[T]) Add(e ...T)
- func (l *List[T]) AddIfNotExist(e ...T)
- func (l *List[T]) AddIfNotExistSingle(e T)
- func (l *List[T]) Contains(e T) bool
- func (l *List[T]) ContainsAll(all []T) bool
- func (l *List[T]) DeleteOne(e T)
- func (l *List[T]) Equal(others []T) bool
- func (l *List[T]) IsEmpty() bool
- func (l *List[T]) Join(sep string) string
- func (l *List[T]) Len() int
- func (l *List[T]) ShallowCopy() []T
- func (l *List[T]) Sort(less func(a, b T) bool)
- func (l *List[T]) SortStable(less func(a, b T) bool)
- func (l *List[T]) String() string
- func (l *List[T]) ToSet() *set.Set[T]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Map ¶
func Map[K comparable, V any](l *List[K], f func(K) V) []V
func Sort ¶
func Sort[T constraints.Ordered](l *List[T])
func SortFunc ¶
func SortFunc[T comparable](l *List[T], less func(a, b T) bool)
func SortStableFunc ¶
func SortStableFunc[T comparable](l *List[T], less func(a, b T) bool)
Types ¶
type List ¶
type List[T comparable] struct { E []T }
func New ¶
func New[T comparable]() *List[T]
func WithCapacity ¶
func WithCapacity[T comparable](capacity int) *List[T]
func (*List[T]) AddIfNotExist ¶
func (l *List[T]) AddIfNotExist(e ...T)
AddIfNotExist like Add but 只添加不存在的元素 时间和空间复杂度 O(M+N)
func (*List[T]) AddIfNotExistSingle ¶
func (l *List[T]) AddIfNotExistSingle(e T)
AddIfNotExistSingle like AddIfNotExist but 只能添加单个元素 相比于 AddIfNotExist 时间复杂度 O(N) 不变, 空间复杂度优化至 O(1) (不构建 set)
func (*List[T]) ContainsAll ¶
ContainsAll 返回是否包含传入的所有元素 时间复杂度 O(N*M),如果数据中的列表元素过多请使用 set 来替代
func (*List[T]) DeleteOne ¶
func (l *List[T]) DeleteOne(e T)
DeleteOne 删除元素 e,至多删除一个,原地操作,时间复杂度 O(N)
func (*List[T]) ShallowCopy ¶
func (l *List[T]) ShallowCopy() []T
func (*List[T]) SortStable ¶
Click to show internal directories.
Click to hide internal directories.