This Java project demonstrates multiple hashing techniques using open addressing and separate chaining to resolve collisions. The program reads a list of words from a file and stores them in a hash table using your selected technique.
Hashing is a data storage technique that maps data (like a word or number) to a specific location in a hash table using a hash function.
- 🔍 Extremely fast data access (ideally O(1))
 - 📦 Used in real-world systems like caches, databases, symbol tables
 - 🔐 Plays a major role in encryption, password hashing, and file deduplication
 
- 
🔄 The program reads words from
Words.txtusingFileReader.java. - 
🧮 For each word, it computes the hash index using this function in
HashFunctions.java: 
int hash = word.chars().sum() % tableSize;git clone https://github.com/mennadevhub/Hashing-Project.git