• Java А что в Яве быстрее работает Map или List на списке из не более 5-10 итемов, с поиском?

Replies (30)

  • @ermine, Думаю с таким количеством абсолютно пофиг, хоть связанный список.
  • @nagg, так ведь для мапа оно будет всё время вычислять хэш?
  • @ermine, Premature optimization is the root of all evil
  • @vt, цыц, сотона!
  • @ermine, Так если ты не переопределяла gethashcode то всё быстро будет + поиск O(1) вместо O(n)
  • @nagg, а что в JVM реально тормозит?
  • @ermine, я ж не написал что что-то тормозит :) просто если перееопределишь гетхешкод — то понятное дело всё будет зависить от того, что ты туда напишешь :-)
  • @nagg, а можно еще раз тупой вопрос? что в JVM реально тормозит?
  • @ermine, эм... всё! Отсутствие нормальных генериков и пользовательских Value type тормозит!11
  • @nagg, хм, я таких слов даже не знаю, а чем существующие генерики ненормальны и что такое пользовательское Value type?
  • @ermine, ответ на этот вопрос не имеет никакой ценности
  • @ermine, Если не обращать внимания на то, что ты спрашиваешь о интерфейсах, а не о реализациях, то на любом языке быстрее работает то, что написано правильно, т.е. приводит к ожидаемому результату. Ведь решение с багом потенциально никогда не достигнет этого результата, т.е. его скорость потихонечку стремится к нулю.
    А если по существу, то я, если получается запихать данные в HashMap, то положу в него. И плевать на то что оно сожрет в разы памяти больше, что надо тратить драгоценные тики на вычисление хеша.
    @vt в /3 дело говорит.
  • @alex0b, зато HashMap занимает дофига памяти! Что дороже — тики или память?
  • @ermine, время и деньги
  • @ermine, Время погромиста же
  • @ermine, Один контейнер на 10 элементов? Созданный в начале, сразу заполненный и освобожденный в конце?
  • @alex0b, Кавайный алгоритм, если бы вся остальная жизнь состояла только из заранее известных и статических данных и ничего не надо было вычислять или перевычислять :) Я предполагаю создавать и уничтожать стопицот списков или хэштаблиц каждую минуту!
  • @vt, А на что настоящий программист тратит свое время? На чтение гугла и умных книжек?
  • @ermine, На решение задач бизнеса. Скажем, он пишет программу по автоматизации продаж апельсинов — важна скорость продаж апельсинов прежде всего, то есть продавец апельсинов должен сделать меньше кликов чем продавец конкурента
  • @ermine, Это и есть основные тормоза. Любишь выделять память — люби и медитировать, созерцая работу Жнеца.
  • @vt, Я тут недавно прочитала, что idea использует твою любимую технологию "one click", хотя периодически мне приходится искать где же этот долбанный клик.
  • @vt, Почем апельсины? беру от 100кг, регулярно
  • @fmap, у него только виртуальные апельсины, которые занимают всю память айфона
  • @vt, Если кликов меньше, но каждый из них подвешивает программу, или она очень долго стартует — бизнес может потерять
  • @ermine, Это долгая история, которая джава-котонами объясняется как легаси/обратная совместимость. Это когда у тебя все примитивы боксятся в генериках. Вон разве не замечала что ты не можешь в ArrayList воткнуть int, надо втыкать Integer и оверхедится на боксинга/анбоксинг
  • @nagg, Нет, никогда не замечала, и даже удивлялась, зачем в примерах пишут массивы интов или дублей или флоатов — какое практическое это может имет значение? Скорее, это академота какая-то!
  • @ermine, Это всего лишь значит, что ты профнепригодный погромист!
  • @nagg, Так провалилось wpf!
  • @fmap, Тупые погромисты не понимают, что все зависит именно от "почем", а не от сложности алгоритма
  • @vt, wtf wpf?