Т.е. hash это просто дополнительный метод (хеш-функция), который проводит какие-то преобразования с тем, что получилось в hashCode()?
А зачем в самом Node существует метод hashCode()? На что он влияет?
И где определяется индекс нужной ячейки?
i = (n - 1) & hash