feat(Go-Tool):2020/12/15:添加前缀树工具,实现前缀搜索和字符串搜索功能
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user