tag:blogger.com,1999:blog-8798235924082241388.post695740919460275232..comments2023-05-14T10:33:44.940+03:00Comments on Вопросы на собеседование Junior Java Developer.: Ответы на вопросы на собеседование Java Collections Framework (часть 2).vasyl1889http://www.blogger.com/profile/06654290728126534362noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-8798235924082241388.post-13006338884705565742020-09-08T10:32:14.863+03:002020-09-08T10:32:14.863+03:00не понял по количеству переходов по ссылке.
на мой...не понял по количеству переходов по ссылке.<br />на мой взгляд это не возможно сказать, т.к. кто знает - сколько переходов по ссылке будет во время расчета хэша ключа, и сколько будет переходов при обходе списка/дерева связанного с бакетом<br />или я что-то не так понял?rgtrhhttps://www.blogger.com/profile/09015068533552147454noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-27860723026710652442020-04-27T23:42:49.180+03:002020-04-27T23:42:49.180+03:00Эээ...
При сравнении вставки середину ArrayList и ...Эээ...<br />При сравнении вставки середину ArrayList и LinkedList аргумент в пользу большей скорости ArrayList - более быстрое копирование элементов. А зачем при вставке в LinkedList вообще копировать элементы ? Разве он не меняет лишь связи с соседями выставляя ссылку на след элемент и предыдущий ? За счет отсутствия этого копирования LinkedList и быстрееAnonymoushttps://www.blogger.com/profile/10836427725943462238noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-59261183138666538532019-06-14T15:55:13.320+03:002019-06-14T15:55:13.320+03:00Википедия -> Временная сложность алгоритмаВикипедия -> Временная сложность алгоритмаАндрейhttps://www.blogger.com/profile/14127824813962672378noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-82170188292675120322019-06-14T15:54:11.138+03:002019-06-14T15:54:11.138+03:00Этот комментарий был удален автором.Андрейhttps://www.blogger.com/profile/14127824813962672378noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-41304615868650821442018-10-27T00:20:33.067+03:002018-10-27T00:20:33.067+03:00Хэшкод не гарантирует уникальность, кроме того, в ...Хэшкод не гарантирует уникальность, кроме того, в бакетах хранятся не просто по хеш кодам. Поэтому мы можем попасть в бакет, пройти его весь, и даже несколько раз вызвать метод equals при коллизии хэшкодов.Anonymoushttps://www.blogger.com/profile/09397097746464454459noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-56114582789311950122018-09-28T17:13:44.507+03:002018-09-28T17:13:44.507+03:00Поясните пожалуйста что значит О(n), O(1) и тд, эт...Поясните пожалуйста что значит О(n), O(1) и тд, это степень?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-78002223140454817302017-04-04T00:11:58.194+03:002017-04-04T00:11:58.194+03:00Время работы HashMap Get(Key) для ключа которого н...Время работы HashMap Get(Key) для ключа которого нет в таблице. <br /><br />O(1) в данном случае, не будет обхода списка потому что по данному ключу не будет списка. Или я не прав?Anonymoushttps://www.blogger.com/profile/18212675541019202102noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-91826156605230806362017-03-18T18:26:54.337+02:002017-03-18T18:26:54.337+02:00При добавлении в ArrayList если будет расширяться ...При добавлении в ArrayList если будет расширяться массив время не O(n). При расширении массива конструкторы созданных элементов не вызываются. Копирование происходит низкоуровневой функцией копирования, которая переносит сразу блок памяти. Так что тут сложно сказать какая сложность будет в общем случае.Anonymoushttps://www.blogger.com/profile/10580818754425358690noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-34101848969390078392016-09-19T20:42:05.546+03:002016-09-19T20:42:05.546+03:00Спасибо поправил в ответе. Также добавлю что O(N) ...Спасибо поправил в ответе. Также добавлю что O(N) - будет при добавление элемента в отсортированный список, а также при добавлении элемента с помощью метода add(index, value). Более подробную информацию можно найти <a href="http://stackoverflow.com/questions/122799/what-is-the-time-complexity-of-indexing-inserting-and-removing-from-common-data" rel="nofollow">здесь</a>.vasyl1889https://www.blogger.com/profile/06654290728126534362noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-70913249980311903142016-09-08T09:42:19.832+03:002016-09-08T09:42:19.832+03:00Какое худшее время работы для метода ADD() в Linke...Какое худшее время работы для метода ADD() в LinkedList, исправте O(1) на O(N), при вставке в середину, будет происходить итерация до нужного элемента, O(1) будет только при вставке в начало, либо в конец.Anonymoushttps://www.blogger.com/profile/15345374151660497543noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-78494960239703532452016-06-17T20:59:23.618+03:002016-06-17T20:59:23.618+03:00СпасибоСпасибоAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-25841853350988472362016-06-17T08:11:23.446+03:002016-06-17T08:11:23.446+03:00Здесь более подробно как работает HashMap.
Грубое ...Здесь более подробно <a href="https://habrahabr.ru/post/128017/" rel="nofollow">как работает HashMap</a>.<br />Грубое представление, что происходит. HashMap представляет из себя массив записей (Map.Entry). При добавлении новых значений проверяется, не превышен ли порог количества элементов. Порог(threshold) определяется как capacity * loadFactor. Если он превышается, то capacity (т.е. массив записей) увеличивается, соответственно все хранящиеся значения заново добавляются в HashMap(происходит перехеширование).vasyl1889https://www.blogger.com/profile/06654290728126534362noreply@blogger.comtag:blogger.com,1999:blog-8798235924082241388.post-28481832580616993022016-06-14T15:46:51.735+03:002016-06-14T15:46:51.735+03:00Поясните пожалуйста последний пункт.
Я думал превы...Поясните пожалуйста последний пункт.<br />Я думал превышение количества хранимых таблицей значений над её размером возможно только при коллизиях, когда в одной корзине хэш-таблицы хранится связный список из более чем одного элемента. Иначе мне не понятно как размер таблицы может оказаться меньше количества хранимых элементов (разве что элементы с разными хэшами будут храниться в одной корзине, но тогда по какому принципу всё это происходит??). И также не ясно как перехеширование поможет исправить ситуацию с превышением loadFactor, из вики понял что перехеширвоание это выбор новой хэш-функции для пересчёта хэшей с целью уменьшить размеры цепочек/кластеризацию; но тогда получается что вовсе не обязательно будет использован определённый в Object или переопределённый в MyClass hash() ? мне казалось что просто должно быть расширено initialCapacityAnonymousnoreply@blogger.com