说一下HashMap的实现原理?

说一下HashMap的实现原理?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16

/**
 * The maximum capacity, used if a higher value is implicitly specified
 * by either of the constructors with arguments.
 * MUST be a power of two <= 1<<30.
 */
static final int MAXIMUM_CAPACITY = 1 << 30;

/**
 * The load factor used when none specified in constructor.
 */
static final float DEFAULT_LOAD_FACTOR = 0.75f;

transient  HashMap.Node<K,V>[] table;

  /**
   * The number of key-value mappings contained in this map.
   */
  transient int size;

ransient int size;

在这里插入图片描述
在这里插入图片描述

Map<String, String> map = new HashMap<>();
map.put("name", "springboot葵花宝典");

在这里插入图片描述

public HashMap() {
  this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述