func (h *Counter) Has(key interface{}) bool {
	_, ok := h.data[key]
	return ok
}
Has returns true if key is presented
package maps
type Counter struct {
	data map[interface{}]int64
}
func NewCounter() *Counter {
	h := &Counter{
		make(map[interface{}]int64),
	}
	return h
}
func (h *Counter) Size() int {
	return len(h.data)
}
func (h *Counter) Put(key interface{}, count int64) {
	h.data[key] = count
}
func (h *Counter) Inc(key interface{}) {
	value, ok := h.data[key]
	if !ok {
		value = 0
	}
	h.data[key] = value + 1
}
func (h *Counter) Dec(key interface{}) {
	value, ok := h.data[key]
	if !ok || value == 0 {
		value = 1
	}
	h.data[key] = value - 1
}
func (h *Counter) Get(key interface{}) int64 {
	value, ok := h.data[key]
	if ok {
		return value
	}
	return -1
}