• Смена библиотеки Java дает возможность оптимизировать код?

    targetjump
    @targetjump
    Как я понял вопрос в том переходить ли на java 8, если же нет то он и правда непонятен =)
  • Как выбрать следующий элемент объекта коллекции Java?

    targetjump
    @targetjump
    Я уверен что у Вас елементов в листе будет не 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();

    дабы тот кто будет менять код или же Вы сами задумались о том верно ли будет брать елементы по индексам.

    P.S. generics are invisible
  • Как выбрать следующий элемент объекта коллекции Java?

    targetjump
    @targetjump
    Ярослав Астафьев: "В Java нет смысла(кроме учебных целей) использовать LinkedList или другие реализации List (кроме ArrayList). Они просто работают в разы медленнее." - полная чушь. Вы забываете о очередях стэках и тд... И естественно кроме того линкед лист очень таки даже юзабельный в продакшн коде, работает точно не медленнее чем арайлист на небольших размерах информации, и это должен быть Ваш выбор если у Вас есть задача хранения небольшого но неизвестного заранее количества данных, куда дешевле цыплять ноды чем делать System#arraycopy.

    Относительно же О(1), в контексте заданого вопроса как линкедлист так и аррайлист справятсься за О(N) и более того линкед лист сделает это быстрее! И да использование итератора будет куда более элегантным решением в данном случае.

    Вывод: пишите "IMHO" .
  • Какую книгу выбрать для изучения java?

    targetjump
    @targetjump
    Вы сказали что знаете "основы" python, pascal, delphi - тогда думаю нет, Вам не нужно изучать азы. Начать изучать джава из 7 версии это неплохая идея - так Вам будет проще понять почему изменения в 8 джаве именно такие какие они есть. Но все же я бы рекомендовал паралельно смотреть и на джава 8 тоже.
  • Как очистить InputStream ?

    targetjump
    @targetjump
    " я опять проверяю поток но если там ничего нового не пришло" можно ли увидеть как именно Вы это делаете?