github.com/whatap/golib@v0.0.22/util/hmap/StringKeyLinkedEntry.go (about)

     1  package hmap
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/whatap/golib/util/hash"
     7  )
     8  
     9  type StringKeyLinkedEntry struct {
    10  	key       string
    11  	keyHash   uint
    12  	value     interface{}
    13  	hash_next *StringKeyLinkedEntry
    14  	link_next *StringKeyLinkedEntry
    15  	link_prev *StringKeyLinkedEntry
    16  }
    17  
    18  func (this *StringKeyLinkedEntry) GetKey() string {
    19  	return this.key
    20  }
    21  func (this *StringKeyLinkedEntry) GetValue() interface{} {
    22  	return this.value
    23  }
    24  func (this *StringKeyLinkedEntry) SetValue(v interface{}) interface{} {
    25  	old := this.value
    26  	this.value = v
    27  	return old
    28  }
    29  func (this *StringKeyLinkedEntry) Equals(o *StringKeyLinkedEntry) bool {
    30  	return this.key == o.key
    31  }
    32  
    33  func (this *StringKeyLinkedEntry) HashCode() uint {
    34  	return uint(hash.Hash([]byte(this.key)))
    35  }
    36  
    37  func (this *StringKeyLinkedEntry) ToString() string {
    38  	return fmt.Sprintf("%s=%v", this.key, this.value)
    39  }