GoDSGo 数据结构包
GoDS 是一个 Go 语言实现的各种数据结构的工具包,包括:
- Containers (Sets, Lists, Stacks, Maps, Trees),
- Sets (HashSet, TreeSet, LinkedHashSet),
- Lists (ArrayList, SinglyLinkedList, DoublyLinkedList),
- Stacks (LinkedListStack, ArrayStack),
- Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap),
- Trees (RedBlackTree, AVLTree, BTree, BinaryHeap),
- Comparators,
- Iterators,
- …
示例代码:
package main
import (
"github.com/emirpasic/gods/lists/arraylist"
"github.com/emirpasic/gods/utils"
)
func main() {
list := arraylist.New()
list.Add("a") // ["a"]
list.Add("c", "b") // ["a","c","b"]
list.Sort(utils.StringComparator) // ["a","b","c"]
_, _ = list.Get(0) // "a",true
_, _ = list.Get(100) // nil,false
_ = list.Contains("a", "b", "c") // true
_ = list.Contains("a", "b", "c", "d") // false
list.Swap(0, 1) // ["b","a",c"]
list.Remove(2) // ["b","a"]
list.Remove(1) // ["b"]
list.Remove(0) // []
list.Remove(0) // [] (ignored)
_ = list.Empty() // true
_ = list.Size() // 0
list.Add("a") // ["a"]
list.Clear() // []
list.Insert(0, "b") // ["b"]
list.Insert(0, "a") // ["a","b"]
}
评论