feat(Go-Tool):2020/12/15:添加前缀树工具,实现前缀搜索和字符串搜索功能

This commit is contained in:
Huangzj
2020-12-15 09:49:54 +08:00
parent fa31b23cca
commit 6fed950fa9
5 changed files with 307 additions and 0 deletions
+15
View File
@@ -8,6 +8,15 @@ package set
import "sync"
type ISet interface {
Add(i interface{})
AddAll(list ...interface{})
Remove(i interface{})
Contains(i interface{}) bool
IsEmpty() bool
GetAllSet() []interface{}
}
type Set struct {
setMap sync.Map //用来存储元素的map
}
@@ -16,6 +25,12 @@ func (set *Set) Add(i interface{}) {
set.setMap.Store(i, nil)
}
func (set *Set) AddAll(list ...interface{}) {
for _, item := range list {
set.Add(item)
}
}
func (set *Set) Remove(i interface{}) {
set.setMap.Delete(i)
}