Muszę przyznać, że posiadam tylko podstawowe wiadomości na temat działania HashTables, chociaż z tego, co wiem, wydaje mi się to dość proste. Moje pytanie brzmi właśnie tak: wydaje się, że konwencjonalna mądrość polega na używaniu prostych, podstawowych typów wartości, takich jak liczby całkowite dla kluczy w HashTable. Ciągi są jednak często używane, chociaż w wielu językach są one implementowane jako typy odniesienia. To, co uważam za ogólnie zalecane, nie jest zalecane przy użyciu złożonych typów referencyjnych; Zgaduję, że to dlatego, że wymagałoby to wolniejszej funkcji skrótu? Ale dlaczego tak powszechnie używane są struny? W końcu nie jest wewnętrznie ciągiem tablicy char [] (znowu w większości języków)?Dopuszczalne typy używane jako klucze w HashTable
W końcu, jakie typy wartości są ogólnie uważane za "najlepsze" (lub nawet po prostu "dopuszczalne") wybory do użycia jako klucze w HashTable? A czy są jakieś powszechnie stosowane wybory, które są faktycznie uważane za "złe" (jak na przykład ciągi)?
źle! prawdziwym problemem jest kluczowa zmienność! – Gyom
To prawda. Jest to jednak określenie, które klucze są uważane za równe, a które nie. – spa