Як згадує ilya n, id (x) створює унікальний ідентифікатор об'єкта.
Але ваше запитання заплутане, оскільки метод hashCode Java не дає унікального ідентифікатора. HashCode Java працює як більшість хеш-функцій: він завжди повертає одне і те ж значення для одного і того ж об’єкта, два рівні об’єкти завжди отримують рівні коди, а нерівні хеш-значення означають нерівні хеш-коди. Зокрема, два різні та нерівні об'єкти можуть отримати однакове значення.
Це бентежить, оскільки криптографічні хеш-функції значно відрізняються від цих, і більше нагадують (хоча і не зовсім) "унікальний ідентифікатор", який ви просили.
Еквівалент Python методу Java hashCode - hash (x).
hashCode()Java не обов’язково унікальна, вона лише має дещо ретельно підібрану семантику разом ізequals().