package set
import "k8s.io/utils/set"
Index ¶
- type Empty
- type Set
- func KeySet[E ordered, A any](theMap map[E]A) Set[E]
- func New[E ordered](items ...E) Set[E]
- func (s Set[T]) Clear() Set[T]
- func (s Set[T]) Clone() Set[T]
- func (s Set[E]) Delete(items ...E) Set[E]
- func (s Set[E]) Difference(s2 Set[E]) Set[E]
- func (s Set[E]) Equal(s2 Set[E]) bool
- func (s Set[E]) Has(item E) bool
- func (s Set[E]) HasAll(items ...E) bool
- func (s Set[E]) HasAny(items ...E) bool
- func (s Set[E]) Insert(items ...E) Set[E]
- func (s Set[E]) Intersection(s2 Set[E]) Set[E]
- func (s Set[E]) IsSuperset(s2 Set[E]) bool
- func (s Set[E]) Len() int
- func (s Set[E]) PopAny() (E, bool)
- func (s Set[E]) SortedList() []E
- func (s Set[T]) SymmetricDifference(s2 Set[T]) Set[T]
- func (s Set[E]) Union(s2 Set[E]) Set[E]
- func (s Set[E]) UnsortedList() []E
Types ¶
type Empty ¶
type Empty struct{}
Empty is public since it is used by some internal API objects for conversions between external string arrays and internal sets, and conversion logic requires public types today.
type Set ¶
type Set[E ordered] map[E]Empty
Set is a set of the same type elements, implemented via map[ordered]struct{} for minimal memory consumption.
func KeySet ¶
KeySet creates a Set[E] from a keys of a map[E](? extends interface{}).
func New ¶
func New[E ordered](items ...E) Set[E]
New creates a new set.
func (Set[T]) Clear ¶
Clear empties the set. It is preferable to replace the set with a newly constructed set, but not all callers can do that (when there are other references to the map).
func (Set[T]) Clone ¶
Clone returns a new set which is a copy of the current set.
func (Set[E]) Delete ¶
Delete removes all items from the set.
func (Set[E]) Difference ¶
Difference returns a set of objects that are not in s2 For example: s1 = {a1, a2, a3} s2 = {a1, a2, a4, a5} s1.Difference(s2) = {a3} s2.Difference(s1) = {a4, a5}
func (Set[E]) Equal ¶
Equal returns true if and only if s1 is equal (as a set) to s2. Two sets are equal if their membership is identical.
func (Set[E]) Has ¶
Has returns true if and only if item is contained in the set.
func (Set[E]) HasAll ¶
HasAll returns true if and only if all items are contained in the set.
func (Set[E]) HasAny ¶
HasAny returns true if any items are contained in the set.
func (Set[E]) Insert ¶
Insert adds items to the set.
func (Set[E]) Intersection ¶
Intersection returns a new set which includes the item in BOTH s1 and s2 For example: s1 = {a1, a2} s2 = {a2, a3} s1.Intersection(s2) = {a2}
func (Set[E]) IsSuperset ¶
IsSuperset returns true if and only if s1 is a superset of s2.
func (Set[E]) Len ¶
Len returns the number of elements in the set.
func (Set[E]) PopAny ¶
PopAny returns a single element from the set.
func (Set[E]) SortedList ¶
func (s Set[E]) SortedList() []E
SortedList returns the contents as a sorted slice.
func (Set[T]) SymmetricDifference ¶
SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. For example: s1 = {a1, a2, a3} s2 = {a1, a2, a4, a5} s1.SymmetricDifference(s2) = {a3, a4, a5} s2.SymmetricDifference(s1) = {a3, a4, a5}
func (Set[E]) Union ¶
Union returns a new set which includes items in either s1 or s2. For example: s1 = {a1, a2} s2 = {a3, a4} s1.Union(s2) = {a1, a2, a3, a4} s2.Union(s1) = {a1, a2, a3, a4}
func (Set[E]) UnsortedList ¶
func (s Set[E]) UnsortedList() []E
UnsortedList returns the slice with contents in random order.
Source Files ¶
ordered.go set.go set_go_1.21.go
- Version
- v0.0.0-20250321185631-1f6e0b77f77e (latest)
- Published
- Mar 21, 2025
- Platform
- linux/amd64
- Imports
- 1 packages
- Last checked
- 2 months ago –
Tools for package owners.