Size: a a a

2020 September 27

ch

central hardware in learn.java
ek man
не так прочитал
думал deprecated метод выдаст ошибку компиляции
анотация не может вызывать ошибку компиляции
источник

em

ek man in learn.java
central hardware
анотация не может вызывать ошибку компиляции
всм? а @Override?
источник

ch

central hardware in learn.java
ek man
всм? а @Override?
утверждение было ошибочным
источник

VS

Vlad S in learn.java
Товарищи, в бакетах HashMap есть static final int TREEIFY_THRESHOLD = 8, означающий границу перестроения списка внутри бакета в дерево. Есть небольшие разночтения с коллегами, вопрос такой: 8 - это граница перестроения листа в дерево, или дерево будет ПОСЛЕ восьмого элемента?
Моя позиция, что раз стоит =, то при попадании в один бакет восьмого элемента структура перестроится в дерево
источник

V

Vlad in learn.java
Vlad S
Товарищи, в бакетах HashMap есть static final int TREEIFY_THRESHOLD = 8, означающий границу перестроения списка внутри бакета в дерево. Есть небольшие разночтения с коллегами, вопрос такой: 8 - это граница перестроения листа в дерево, или дерево будет ПОСЛЕ восьмого элемента?
Моя позиция, что раз стоит =, то при попадании в один бакет восьмого элемента структура перестроится в дерево
А если посмотреть в коде? Раз такие вопросы, то найти в какой момент перестраивается не должно быть проблемой
источник

VS

Vlad S in learn.java
Vlad
А если посмотреть в коде? Раз такие вопросы, то найти в какой момент перестраивается не должно быть проблемой
Я и скопировал строчку из кода и объяснил свою позицию, меня пытаются убедить, что перестроение будет на 9 элементе
источник

V

Vlad in learn.java
Vlad S
Я и скопировал строчку из кода и объяснил свою позицию, меня пытаются убедить, что перестроение будет на 9 элементе
А строчка использования этой константы?
источник

VS

Vlad S in learn.java
У Оракла нет описания этого момента в доке, только на ДжаваРаше текст
источник

VS

Vlad S in learn.java
Vlad
А строчка использования этой константы?
Минут 5
источник

AI

Alexey Ivashkov in learn.java
When there are at least 8 entries (TREEIFY_THRESHOLD) in a single bucket and the total number of buckets is more then 64 (MIN_TREEIFY_CAPACITY) then that single bucket will be transformed to a perfectly balanced red black tree node.
источник

VS

Vlad S in learn.java
Alexey Ivashkov
When there are at least 8 entries (TREEIFY_THRESHOLD) in a single bucket and the total number of buckets is more then 64 (MIN_TREEIFY_CAPACITY) then that single bucket will be transformed to a perfectly balanced red black tree node.
Да, это со стэковерфлоу, вроде и смысл тут такой, что восьмой элемент - уже дерево
источник

V

Vlad in learn.java
Alexey Ivashkov
When there are at least 8 entries (TREEIFY_THRESHOLD) in a single bucket and the total number of buckets is more then 64 (MIN_TREEIFY_CAPACITY) then that single bucket will be transformed to a perfectly balanced red black tree node.
вдобавок к этому

HashMap 638 строчка 12 java
if (binCount >= TREEIFY_THRESHOLD - 1) // -1 for 1st
                           treeifyBin(tab, hash);
источник

V

Vlad in learn.java
немного хитрее выходит
источник

VS

Vlad S in learn.java
Vlad
вдобавок к этому

HashMap 638 строчка 12 java
if (binCount >= TREEIFY_THRESHOLD - 1) // -1 for 1st
                           treeifyBin(tab, hash);
Чёт найти не могу где там, читаю про ресайз ноды
источник

VS

Vlad S in learn.java
Хитрее как?
источник

V

Vlad in learn.java
ну по этой строчке с 7 выходит
источник

VS

Vlad S in learn.java
🤔
источник

V

Vlad in learn.java
а хитрее, потому что binNode с 0 считается
источник

V

Vlad in learn.java
for (int binCount = 0; ; ++binCount) {
   if ((e = p.next) == null) {
       p.next = newNode(hash, key, value, null);
       if (binCount >=
TREEIFY_THRESHOLD - 1) // -1 for 1st
           treeifyBin(tab, hash);
       break;
источник

VS

Vlad S in learn.java
Vlad
ну по этой строчке с 7 выходит
А ты где смотришь? В идейке под капотом хэшмапы?
источник