[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-core-est-klass-point-int-x-y-pochemu-khesh-kod-v-vide-31-x-y-predpochtitelnee-chem-x-y":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":19,"progress":20,"seo":21},99,"est-klass-point-int-x-y-pochemu-khesh-kod-v-vide-31-x-y-predpochtitelnee-chem-x-y",2,"java-core","Java Core","☕","Есть класс `Point{int x, y;}`. Почему хэш код в виде `31 * x + y` предпочтительнее чем `x + y`?","Множитель создает зависимость значения хэш кода от очередности обработки полей, что в итоге порождает лучшую хэш функцию.","","middle",[15,16,17,18],"core","hashCode","хэш-функция","Point",[],null,{"title":22,"description":23,"ogTitle":22,"ogDescription":24,"keywords":25,"schemaAnswer":30,"featuredSnippetReady":31},"Почему hashCode 31*x+y лучше чем x+y — Gymterview","Множитель 31 в хэш-коде создаёт зависимость значения от очерёдности обработки полей, что порождает лучшую хэш-функцию с меньшим числом коллизий.","Множитель создаёт зависимость хэш-кода от очерёдности обработки полей, порождая лучшую хэш-функцию.",[16,17,26,27,18,28,29],"множитель 31","Java","коллизии","собеседование","Множитель создает зависимость значения хэш-кода от очередности обработки полей, что в итоге порождает лучшую хэш-функцию. Например, для точек (1, 2) и (2, 1) хэш x + y будет одинаковым (3), а 31 * x + y даст разные значения (33 и 63), что уменьшает количество коллизий.",true]