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

     1  package hmap
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  type IntKeyLinkedEntry struct {
     8  	key       int32
     9  	keyHash   uint
    10  	value     interface{}
    11  	next *IntKeyLinkedEntry
    12  	link_next *IntKeyLinkedEntry
    13  	link_prev *IntKeyLinkedEntry
    14  }
    15  
    16  func NewIntKeyLinkedEntry(key int32, value interface{}, next *IntKeyLinkedEntry) *IntKeyLinkedEntry {
    17  	p := new(IntKeyLinkedEntry)
    18  	p.key = key
    19  	p.value = value
    20  	p.next = next
    21  	
    22  	return p
    23  }
    24  
    25  func (this *IntKeyLinkedEntry) GetKey() int32 {
    26  	return this.key
    27  }
    28  func (this *IntKeyLinkedEntry) GetValue() interface{} {
    29  	return this.value
    30  }
    31  func (this *IntKeyLinkedEntry) SetValue(v interface{}) interface{} {
    32  	old := this.value
    33  	this.value = v
    34  	return old
    35  }
    36  func (this *IntKeyLinkedEntry) Equals(o *IntKeyLinkedEntry) bool {
    37  	return this.key == o.key
    38  }
    39  
    40  func (this *IntKeyLinkedEntry) HashCode() uint {
    41  	return uint(this.key ^ this.key>>32)
    42  }
    43  
    44  func (this *IntKeyLinkedEntry) ToString() string {
    45  	return fmt.Sprintf("%d=%v", this.key, this.value)
    46  }