func (s *Int16Sync) GetList() []int16 {
	s.RLock()
	defer s.RUnlock()
	nums := []int16{}
	for i := range s.nodeMap {
		nums = append(nums, i)
	}
	return nums
}
GetList - Get set items
package set
import "sync"
type Int16Sync struct {
	nodeMap map[int16]struct{}
	sync.RWMutex
}
func NewInt16Sync(nums []int16) *Int16Sync {
	s := &Int16Sync{}
	for _, num := range nums {
		s.Add(num)
	}
	return s
}
func (s *Int16Sync) Add(num int16) *Int16Sync {
	s.Lock()
	defer s.Unlock()
	if s.nodeMap == nil {
		s.nodeMap = make(map[int16]struct{})
	}
	_, ok := s.nodeMap[num]
	if !ok {
		s.nodeMap[num] = struct{}{}
	}
	return s
}
func (s *Int16Sync) Clear() {
	s.Lock()
	defer s.Unlock()
	s.nodeMap = make(map[int16]struct{})
}
func (s *Int16Sync) Remove(num int16) bool {
	s.Lock()
	defer s.Unlock()
	_, ok := s.nodeMap[num]
	if ok {
		delete(s.nodeMap, num)
	}
	return ok
}
func (s *Int16Sync) Contains(num int16) bool {
	s.RLock()
	defer s.RUnlock()
	_, ok := s.nodeMap[num]
	return ok
}