代码拉取完成,页面将自动刷新
package concurrent
import (
"cmp"
rbt "gitee.com/quant1x/gox/util/redblacktree"
)
type TreeMap[K comparable, V any] struct {
//treemap.Map
tree *rbt.Tree
}
func NewTreeMap[K cmp.Ordered, V any]() *TreeMap[K, V] {
tree := rbt.Tree{Comparator: func(a, b any) int {
A := a.(K)
B := b.(K)
return cmp.Compare(A, B)
}}
return &TreeMap[K, V]{tree: &tree}
}
func (m *TreeMap[K, V]) Size() int {
return m.tree.Size()
}
func (m *TreeMap[K, V]) Put(k K, v V) {
m.tree.Put(k, v)
}
func (m *TreeMap[K, V]) Get(k K) (v V, found bool) {
tmp, found := m.tree.Get(k)
if !found {
return
}
return tmp.(V), true
}
func (m *TreeMap[K, V]) Each(f func(key K, value V)) {
iterator := m.tree.Iterator()
for iterator.Next() {
f(iterator.Key().(K), iterator.Value().(V))
}
}
func (m *TreeMap[K, V]) Clear() {
m.tree.Clear()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。