Generics collections framework for Golang.
IMPORTANT NOTICE: This package requires Go version 1.18+.
This package provides the following data structure interfaces and implementations:
-
Collection
: The root interface of most of the structures in this package (withoutDictionary
). -
Set
: A collection interface that contains no duplicate elements.-
HashSet
: The implementation of Set based on Go built-in map structure. -
ConcurrentHashSet
: The thread safe implementation of Set based on Go built-in map structure.
-
-
Dictionary
: A object that maps keys to values, and it cannot contain duplicate key.-
HashDictionary
: The implementation of Dictionary based on Go built-in map structure. -
ConcurrencyHashDictionary
: The thread safe implementation of HashDictionary.
-
You can install this package by the following command.
go get -u github.com/ghosind/collection
After installation, you can import it by the following code.
import "github.com/ghosind/collection"
Create a string set, add and test elements in the set.
// import "github.com/ghosind/collection/set"
fruits := set.NewHashSet[string]()
fruits.Add("Apple")
fruits.Add("Banana")
log.Print(fruits.Contains("Banana")) // true
log.Print(fruits.Contains("Lemon"))
// import "github.com/ghosind/collection/dict"
languages := dict.NewHashDictionary[string, int]()
languages.Put("C", 1972)
languages.Put("Go", 2007)
log.Print(languages.GetDefault("C", 0)) // 1972