Hashmap กับ Hashtable ใน Java ต่างกันยังไงครับ
ผมดูแล้วถ้ามองแค่เรื่องการใช้งาน สองตัวนี้ ใช้เหมือนกันเลยครับ
แต่เราจะเลือกใช้ตัวใหนให้ดูที่เรื่องของลักษณะการเก็บข้อมูลที่ต่างกันคือ
1. Hashtable จะทำงานแบบ synchronized ส่วน HashMap จะไม่ใช่ ตรงนี้จะทำให้ HashMap ทำงานได้เร็วกว่า Hashtable แต่ก็จะใช้ได้กับงานที่เป็น non-threaded applications ที่ ไม่มีการ synchronized Objects เท่านั้นนะครับ
2. ข้อแตกต่างที่เห็นได้ชัดๆ เลยคือ Hashtable จะไม่ยอมให้ key หรือ Value เป็น null ส่วน HashMap ใสมารถใส่ null ใน Key หรือ value ได้
จะว่าไปผมก็ไม่ค่อยได้สนใจเรื่อง synchronization เท่าไรตอนเรียกใช้ก็เลยจัด Hashmap ไปเลยเพราะเห็นว่ามันเร็วกว่า ครับ ใครมีไอเดียดีๆ เชิงลึกๆ ช่วยชี้แนะด้วย
ตัวอย่างการใช้งาน Java HashMap
ตัวอย่างการใช้งาน Java Hashtable