В Java 8 изменился способ хранения хэшей ключей в java.util.HashMap. Теперь когда количество элементов больше определенного значения
static final int TREEIFY_THRESHOLD = 8то для хранения хэшей используется сбалансированное дерево вместо связанного списка. Это дает улучшение производительство в наихудшем случае с O(n) до O(log n). При уменьшении количества элементов до
static final int UNTREEIFY_THRESHOLD = 6дерево заменяется на связанный список