Интуитивно я бы сказал, используйте итератор, поскольку он может не требовать каких-либо поисков и просто даст вам прямую производительность O (n).обратите внимание, что ваша лучшая производительность для случая будет O (n), так как вы касаетесь каждого элемента набора, а ваша средняя производительность для случая будет в O (n) раз больше, чем для вашего метода доступа.Поскольку Hash-поиск имеет высокую вероятность O (1), вы, скорее всего, будете все еще O (n), но с итератором, так как вы только вычисляете следующую позицию, вам (я думаю) гарантирован O (1) доступдля следующего элемента.Вот почему я бы выбрал итератор.Плюс постоянное время для вычисления следующего элемента, вероятно, лучше, чем постоянное время для поиска позиции по хешу.