public void forEach(BiConsumer<? super K, ? super V> action) {
    Objects.requireNonNull(action);
    K[] keyTable = this.keyTable;
    V[] valueTable = this.valueTable;
    int i = keyTable.length;
    while (i-- > 0) {
      K key = keyTable[i];
      if (key == null) {
        continue;
      }
      V value = valueTable[i];
      action.accept(key, value);
    }
  }
@Test
  public void testForEach() {
    FuryObjectMap<String, String> map = new ObjectMap<>(4, 0.2f);
    Map<String, String> hashMap = new HashMap<>();
    for (int i = 0; i < 100; i++) {
      map.put("k" + i, "v" + i);
      hashMap.put("k" + i, "v" + i);
    }
    Map<String, String> hashMap2 = new HashMap<>();
    map.forEach(hashMap2::put);
    Assert.assertEquals(hashMap2, hashMap);
  }