streams

package
v0.0.0-...-806eab8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2023 License: Apache-2.0 Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GroupingBy

func GroupingBy[T any, K comparable, V any](ts []T, getKey func(t T) K, getVal func(t T) V) map[K][]V

func GroupingByIdentity

func GroupingByIdentity[T any, K comparable](ts []T, getKey func(t T) K) map[K][]T

func ToMap

func ToMap[T any, K comparable, V any](ts []T, getKey func(t T) K, getVal func(t T) V) map[K]V

func ToMapIdentity

func ToMapIdentity[T any, K comparable](ts []T, getKey func(t T) K) map[K]T

Types

type Number

type Number interface {
	~int | ~int64 | ~float64
}

type NumberStream

type NumberStream[N Number] struct {
	// contains filtered or unexported fields
}

func (*NumberStream) AnyMatch

func (s *NumberStream) AnyMatch(predicate func(t T) bool) bool

func (*NumberStream) Count

func (s *NumberStream) Count() int

func (*NumberStream) Filter

func (s *NumberStream) Filter(filter func(t T) bool) Stream[T]

func (*NumberStream) FindFirst

func (s *NumberStream) FindFirst() *T

func (*NumberStream) FindFirstOrElse

func (s *NumberStream) FindFirstOrElse(ele T) T

func (*NumberStream) ForEach

func (s *NumberStream) ForEach(action func(t T))

func (*NumberStream) ForEachPtr

func (s *NumberStream) ForEachPtr(action func(t *T))

func (*NumberStream) GroupingByIdentityIntKey

func (s *NumberStream) GroupingByIdentityIntKey(getKey func(t T) int) map[int][]T

func (*NumberStream) GroupingByIdentityLongKey

func (s *NumberStream) GroupingByIdentityLongKey(getKey func(t T) int64) map[int64][]T

func (*NumberStream) GroupingByIdentityStrKey

func (s *NumberStream) GroupingByIdentityStrKey(getKey func(t T) string) map[string][]T

func (*NumberStream) MapIdentity

func (s *NumberStream) MapIdentity(convert func(t T) T) Stream[T]

func (*NumberStream) MapToDouble

func (s *NumberStream) MapToDouble(toDoubleFun func(t T) float64) *NumberStream[float64]

func (*NumberStream) MapToInt

func (s *NumberStream) MapToInt(toIntFun func(t T) int) *NumberStream[int]

func (*NumberStream) MapToLong

func (s *NumberStream) MapToLong(toLongFun func(t T) int64) *NumberStream[int64]

func (*NumberStream[N]) Max

func (ns *NumberStream[N]) Max() N

func (*NumberStream[N]) Min

func (ns *NumberStream[N]) Min() N

func (*NumberStream) NoneMatch

func (s *NumberStream) NoneMatch(predicate func(t T) bool) bool

func (*NumberStream) Skip

func (s *NumberStream) Skip(limit int) Stream[T]

func (*NumberStream) SkipIndex

func (s *NumberStream) SkipIndex(index int, limit int) Stream[T]

func (*NumberStream[N]) Sum

func (ns *NumberStream[N]) Sum() N

func (*NumberStream) ToMapIdentityIntKey

func (s *NumberStream) ToMapIdentityIntKey(getKey func(t T) int) map[int]T

func (*NumberStream) ToMapIdentityLongKey

func (s *NumberStream) ToMapIdentityLongKey(getKey func(t T) int64) map[int64]T

func (*NumberStream) ToMapIdentityStrKey

func (s *NumberStream) ToMapIdentityStrKey(getKey func(t T) string) map[string]T

func (*NumberStream) ToMapIntKey

func (s *NumberStream) ToMapIntKey(getKey func(t T) int, getVal func(t T) any) map[int]any

func (*NumberStream) ToMapLongKey

func (s *NumberStream) ToMapLongKey(getKey func(t T) int64, getVal func(t T) any) map[int64]any

func (*NumberStream) ToMapStrKey

func (s *NumberStream) ToMapStrKey(getKey func(t T) string, getVal func(t T) any) map[string]any

func (*NumberStream) ToSlice

func (s *NumberStream) ToSlice() []T

type Stream

type Stream[T any] interface {
	MapIdentity(convert func(t T) T) Stream[T]
	Filter(filter func(t T) bool) Stream[T]
	Skip(limit int) Stream[T]
	SkipIndex(index int, limit int) Stream[T]
	FindFirst() *T
	FindFirstOrElse(ele T) T
	ToSlice() []T
	ForEach(eachDo func(t T))
	ForEachPtr(eachDo func(t *T))
	Count() int
	ToMapStrKey(getKey func(t T) string, getVal func(t T) any) map[string]any
	ToMapIntKey(getKey func(t T) int, getVal func(t T) any) map[int]any
	ToMapLongKey(getKey func(t T) int64, getVal func(t T) any) map[int64]any
	ToMapIdentityStrKey(getKey func(t T) string) map[string]T
	ToMapIdentityIntKey(getKey func(t T) int) map[int]T
	ToMapIdentityLongKey(getKey func(t T) int64) map[int64]T
	GroupingByIdentityStrKey(getKey func(t T) string) map[string][]T
	GroupingByIdentityIntKey(getKey func(t T) int) map[int][]T
	GroupingByIdentityLongKey(getKey func(t T) int64) map[int64][]T
	AnyMatch(predicate func(t T) bool) bool
	NoneMatch(predicate func(t T) bool) bool
	MapToInt(toIntFun func(t T) int) *NumberStream[int]
	MapToLong(toLongFun func(t T) int64) *NumberStream[int64]
	MapToDouble(toDoubleFun func(t T) float64) *NumberStream[float64]
}

func Map

func Map[T any, R any](ts []T, t2r func(t T) R) Stream[R]

func MapStream

func MapStream[T any, R any](st Stream[T], t2r func(t T) R) Stream[R]

func Of

func Of[T any](ele ...T) Stream[T]

func OfSlice

func OfSlice[T any](list []T) Stream[T]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL