[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-kakoe-khudshee-vremya-raboty-metoda-contains-dlya-elementa-kotoryy-est-v-arraylist":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},447,"kakoe-khudshee-vremya-raboty-metoda-contains-dlya-elementa-kotoryy-est-v-arraylist",12,"collections","Collections","📚","Какое худшее время работы метода contains() для элемента, который есть в ArrayList","Худшее время — O(N). Метод `contains()` в ArrayList выполняет линейный поиск по внутреннему массиву, сравнивая каждый элемент через `equals()`.\n\nХотя ArrayList основан на массиве с произвольным доступом, для поиска по значению (а не по индексу) это не дает преимущества — массив не отсортирован, поэтому бинарный поиск неприменим. В худшем случае искомый элемент расположен в конце массива, и метод проверит все N элементов.\n\n> **На собеседовании:** ответ одинаковый для ArrayList и LinkedList — O(N). Уточните, что произвольный доступ по индексу в ArrayList O(1), но поиск по значению — всегда линейный.","","middle",[15,16],"performance","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":33,"featuredSnippetReady":34},"Худшее время get() для существующего ключа в HashMap — Gymterview","O(N) до Java 8, O(log N) с Java 8. В худшем случае элемент — последний в цепочке. В среднем — O(1).","Худшее время get() существующего ключа — Gymterview","O(N) до Java 8, O(log N) с Java 8. В среднем O(1) при хорошей хэш-функции.",[25,26,27,28,29,30,31,32],"HashMap","get()","O(N)","O(log N)","O(1)","treeification","Java","собеседование","O(N) до Java 8, O(log N) с Java 8. В худшем случае все элементы в одной корзине, искомый — последний. В среднем — O(1) при хорошей хэш-функции и разумном load factor.",true]