public bool equals(Object par1Obj) { if (!(par1Obj is LongHashMapEntry)) { return(false); } else { LongHashMapEntry var2 = (LongHashMapEntry)par1Obj; Int64? var3 = this.getKey(); Int64? var4 = var2.getKey(); if (var3 == var4 || var3 != null && var3.Equals(var4)) { Object var5 = this.getValue(); Object var6 = var2.getValue(); if (var5 == var6 || var5 != null && var5.Equals(var6)) { return(true); } } return(false); } }
public LongHashMapEntry(int par1, long par2, Object par4Obj, LongHashMapEntry par5LongHashMapEntry) { this.value = par4Obj; this.nextEntry = par5LongHashMapEntry; this.key = par2; this.hash = par1; }
LongHashMapEntry removeKey(long par1) { int var3 = getHashedKey(par1); int var4 = getHashIndex(var3, this.hashArray.Length); LongHashMapEntry var5 = this.hashArray[var4]; LongHashMapEntry var6; LongHashMapEntry var7; for (var6 = var5; var6 != null; var6 = var7) { var7 = var6.nextEntry; if (var6.key == par1) { ++this.modCount; --this.numHashElements; if (var5 == var6) { this.hashArray[var4] = var7; } else { var5.nextEntry = var7; } return(var6); } var5 = var6; } return(var6); }
private void copyHashTableTo(LongHashMapEntry[] par1ArrayOfLongHashMapEntry) { LongHashMapEntry[] var2 = this.hashArray; int var3 = par1ArrayOfLongHashMapEntry.Length; for (int var4 = 0; var4 < var2.Length; ++var4) { LongHashMapEntry var5 = var2[var4]; if (var5 != null) { var2[var4] = null; LongHashMapEntry var6; do { var6 = var5.nextEntry; int var7 = getHashIndex(var5.hash, var3); var5.nextEntry = par1ArrayOfLongHashMapEntry[var7]; par1ArrayOfLongHashMapEntry[var7] = var5; var5 = var6; }while (var6 != null); } } }
private void createKey(int par1, long par2, Object par4Obj, int par5) { LongHashMapEntry var6 = this.hashArray[par5]; this.hashArray[par5] = new LongHashMapEntry(par1, par2, par4Obj, var6); if (this.numHashElements++ >= this.capacity) { this.resizeTable(2 * this.hashArray.Length); } }
LongHashMapEntry getEntry(long par1) { int var3 = getHashedKey(par1); for (LongHashMapEntry var4 = this.hashArray[getHashIndex(var3, this.hashArray.Length)]; var4 != null; var4 = var4.nextEntry) { if (var4.key == par1) { return(var4); } } return(null); }
private void resizeTable(int par1) { LongHashMapEntry[] var2 = this.hashArray; int var3 = var2.Length; if (var3 == 1073741824) { this.capacity = Int32.MaxValue; } else { LongHashMapEntry[] var4 = new LongHashMapEntry[par1]; this.copyHashTableTo(var4); this.hashArray = var4; this.capacity = (int)((float)par1 * this.percentUseable); } }
public void add(long par1, Object par3Obj) { int var4 = getHashedKey(par1); int var5 = getHashIndex(var4, this.hashArray.Length); for (LongHashMapEntry var6 = this.hashArray[var5]; var6 != null; var6 = var6.nextEntry) { if (var6.key == par1) { var6.value = par3Obj; return; } } ++this.modCount; this.createKey(var4, par1, par3Obj, var5); }
public Object remove(long par1) { LongHashMapEntry var3 = this.removeKey(par1); return(var3 == null ? null : var3.value); }
private void copyHashTableTo(LongHashMapEntry[] par1ArrayOfLongHashMapEntry) { LongHashMapEntry[] var2 = this.hashArray; int var3 = par1ArrayOfLongHashMapEntry.Length; for (int var4 = 0; var4 < var2.Length; ++var4) { LongHashMapEntry var5 = var2[var4]; if (var5 != null) { var2[var4] = null; LongHashMapEntry var6; do { var6 = var5.nextEntry; int var7 = getHashIndex(var5.hash, var3); var5.nextEntry = par1ArrayOfLongHashMapEntry[var7]; par1ArrayOfLongHashMapEntry[var7] = var5; var5 = var6; } while (var6 != null); } } }