Documentation ¶
Overview ¶
Package orderedset implements a dynamic, insertion-ordered, set abstract data type. A set is an abstract data type that can store unique values.
Curent implementation
- Is a dynamic set. It implements actions to Add() or Remove() elements from it among others.
- Is ordered. Instead the generic set, this implementation is insertion ordered, meaning that when iterating over its elements, it will return them in order they where inserted originally.
Example
package main import ( "github.com/goombaio/orderedset" ) func main() { s := orderedset.NewOrderedSet() s.Add("First element") s.Add("Second element") s.Add("Last element") for _, entry := range s.Values() { fmt.Println(entry) } // Output: // First element // Second element // Last element }
Index ¶
- type OrderedSet
- func (s *OrderedSet) Add(items ...interface{})
- func (s *OrderedSet) Contains(items ...interface{}) bool
- func (s *OrderedSet) Empty() bool
- func (s *OrderedSet) Remove(items ...interface{})
- func (s *OrderedSet) Size() int
- func (s *OrderedSet) String() string
- func (s *OrderedSet) Values() []interface{}
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OrderedSet ¶
type OrderedSet struct {
// contains filtered or unexported fields
}
OrderedSet represents a dynamic, insertion-ordered, set abstract data type.
Example ¶
package main import ( "fmt" "github.com/goombaio/orderedset" ) func main() { s := orderedset.NewOrderedSet() s.Add("First element") s.Add("Second element") s.Add("Last element") for _, entry := range s.Values() { fmt.Println(entry) } }
Output: First element Second element Last element
func (*OrderedSet) Add ¶
func (s *OrderedSet) Add(items ...interface{})
Add adds items to the set.
If an item is found in the set it replaces it.
func (*OrderedSet) Contains ¶
func (s *OrderedSet) Contains(items ...interface{}) bool
Contains return if set contains the specified items or not.
func (*OrderedSet) Empty ¶
func (s *OrderedSet) Empty() bool
Empty return if the set in empty or not.
func (*OrderedSet) Remove ¶
func (s *OrderedSet) Remove(items ...interface{})
Remove deletes items from the set.
If an item is not found in the set it doesn't fails, just does nothing.
func (*OrderedSet) String ¶
func (s *OrderedSet) String() string
String implements Stringer interface.
Prints the set string representation, a concatenated string of all its string representation values in insertion order.
func (*OrderedSet) Values ¶
func (s *OrderedSet) Values() []interface{}
Values return the set values in insertion order.