MCPcopy Create free account
hub / github.com/e2wugui/zeze / remove

Method remove

ZezeJava/ZezeJava/src/main/java/Zeze/Util/IntHashMap.java:392–426  ·  view source on GitHub ↗
(int key)

Source from the content-addressed store, hash-verified

390 }
391
392 public @Nullable V remove(int key) {
393 if (key == 0) {
394 if (!hasZeroValue)
395 return null;
396 hasZeroValue = false;
397 final V oldV = zeroValue;
398 zeroValue = null;
399 size--;
400 return oldV;
401 }
402 final int[] kt = keyTable;
403 final V[] vt = valueTable;
404 final int m = mask;
405 int i;
406 for (i = hash(key); ; i = (i + 1) & m) {
407 final int k = kt[i];
408 if (k == key)
409 break;
410 if (k == 0)
411 return null;
412 }
413 final V oldV = vt[i];
414 for (int j = (i + 1) & m; (key = kt[j]) != 0; j = (j + 1) & m) {
415 final int h = hash(key);
416 if (((j - h) & m) > ((i - h) & m)) {
417 kt[i] = key;
418 vt[i] = vt[j];
419 i = j;
420 }
421 }
422 kt[i] = 0;
423 vt[i] = null;
424 size--;
425 return oldV;
426 }
427
428 public boolean remove(int key, @Nullable V value) {
429 if (key == 0) {

Callers 1

testIntHashMapMethod · 0.95

Calls 2

hashMethod · 0.95
equalsMethod · 0.65

Tested by 1

testIntHashMapMethod · 0.76