(я знаю, что это может отличаться от порядка вставки)
Нет, не будет. Контракт List
требует, чтобы порядок add
был таким же, как порядок итерации, поскольку add
вставляет в конце, а iterator
создает итератор, который выполняет итерацию от начала до конца.
Set
этого не требует, поэтому вы можете запутать контракт Set
и List
относительно порядка итерации.
Из Javadoc :
Iterator<E> iterator()
Возвращает итератор для элементов в этом списке в правильной последовательности.