# README
Set
Set is a simple Set data structure implementation in Go (Golang) using LinkedHashMap.
This library allow you to get a set of int64
or string
without duplicated items.
Usage
package main
import (
"fmt"
"github.com/StudioSol/set"
)
func main() {
duplicatedInt64 := []int64{1, 1, 2, 2, 3, 3}
unduplicatedInt64 := set.NewLinkedHashSetINT64(duplicatedInt64...)
// Get a []int64 from set
unduplicatedArray := unduplicatedInt64.AsSlice()
fmt.Println(unduplicatedArray) // will print [1 2 3]
// Get the Length from set
fmt.Println(unduplicatedInt64.Length()) // will print 3
// Add new items in set
unduplicatedInt64.Add(1, 2, 3, 4)
fmt.Println(unduplicatedInt64.AsSlice()) // will print [1 2 3 4]
// Check if item is in set
fmt.Println(unduplicatedInt64.InArray(1)) // will print true
fmt.Println(unduplicatedInt64.InArray(5)) // will print false
// Get a []interface{} from set
interfaceList := unduplicatedInt64.AsInterface()
fmt.Println(interfaceList) // will print [1 2 3 4]
// Allow to iter over set
for i := range unduplicatedInt64.Iter() {
fmt.Println(i)
}
// Remove items from set
unduplicatedInt64.Remove(0, 1, 2, 3)
fmt.Println(unduplicatedInt64.AsSlice()) // will print [4]
}
// You have same methods to LinkedHashSetString
# Functions
NewLinkedHashSet returns a new LinkedHashSet with the provided items.
NewLinkedHashSetINT returns a new LinkedHashSetINT with the provided items.
NewLinkedHashSetINT64 returns a new LinkedHashSetINT64 with the provided items.
NewLinkedHashSetString returns a new LinkedHashSetString with the provided items.
# Structs
LinkedHashSet linked hash set implementation using linkedHashMap as its underlying data structure.
LinkedHashSetINT linked hash set implementation using linkedHashMap as its underlying data structure.
LinkedHashSetINT64 linked hash set implementation using linkedHashMap as its underlying data structure.
LinkedHashSetString linked hash set implementation using linkedHashMap as its underlying data structure.