Я уверен что у Вас елементов в листе будет не 10к и не 20к хотя и тут с использованием аррайлиста тоже вопрос. Вот что я вижу, вы пишете
List list = new ArrayList();
а потом цыкл, но тут важнее всего этап когда в лист попадают данные! Если вы знакомы с концепцией аррайлиста то должны понимать что если не задать "capacity" то сначала лист будет оперировать массивом в 10 потом в 15 и тд елементов и каждый "grow" листа стоит Вам немало! В случае же с линкедлистом Вам не нужно задавать "capacity" ибо Вы оперируете связным списком, и использование итератора в этом случае это единственное правильно решение. Почему ИМХО итератор это более элегантное решение, да потому же! Если вы захотите использовать другую реализацию листа
то не факт что list.get( idx ) будет работать за О(1), в случае из линкедлистом один list.get( idx ) это уже ТЕТА( idx ).
Если же Вы хотите использовать аррайлист то от итератора особого профита то и нет только пишите тогда не
List list = new ArrayList();
a
ArrayList list = new ArrayList();
дабы тот кто будет менять код или же Вы сами задумались о том верно ли будет брать елементы по индексам.
Ярослав Астафьев: "В Java нет смысла(кроме учебных целей) использовать LinkedList или другие реализации List (кроме ArrayList). Они просто работают в разы медленнее." - полная чушь. Вы забываете о очередях стэках и тд... И естественно кроме того линкед лист очень таки даже юзабельный в продакшн коде, работает точно не медленнее чем арайлист на небольших размерах информации, и это должен быть Ваш выбор если у Вас есть задача хранения небольшого но неизвестного заранее количества данных, куда дешевле цыплять ноды чем делать System#arraycopy.
Относительно же О(1), в контексте заданого вопроса как линкедлист так и аррайлист справятсься за О(N) и более того линкед лист сделает это быстрее! И да использование итератора будет куда более элегантным решением в данном случае.
Вы сказали что знаете "основы" python, pascal, delphi - тогда думаю нет, Вам не нужно изучать азы. Начать изучать джава из 7 версии это неплохая идея - так Вам будет проще понять почему изменения в 8 джаве именно такие какие они есть. Но все же я бы рекомендовал паралельно смотреть и на джава 8 тоже.