ความแตกต่างระหว่าง HashMap และ TreeMap

สารบัญ:

ความแตกต่างระหว่าง HashMap และ TreeMap
ความแตกต่างระหว่าง HashMap และ TreeMap

วีดีโอ: ความแตกต่างระหว่าง HashMap และ TreeMap

วีดีโอ: ความแตกต่างระหว่าง HashMap และ TreeMap
วีดีโอ: Difference between HashMap, LinkedHashMap and TreeMap | Core Java Interview Questions | Naresh IT 2024, กรกฎาคม
Anonim

ความแตกต่างที่สำคัญ – HashMap กับ TreeMap

ในการเขียนโปรแกรม มีกลไกต่างๆ ในการรวบรวมข้อมูล การรวบรวมเป็นวิธีหนึ่งในการจัดเก็บข้อมูล ภาษาการเขียนโปรแกรมเช่น Java ใช้ Collections เป็นเฟรมเวิร์กที่มีคลาสและอินเทอร์เฟซสำหรับจัดเก็บและจัดการชุดขององค์ประกอบข้อมูล ในอาร์เรย์ปกติ มีองค์ประกอบในการจัดเก็บจำนวนคงที่ นั่นคือข้อจำกัดของอาร์เรย์ โปรแกรมเมอร์สามารถใช้คอลเล็กชันแทนได้ การดำเนินการต่างๆ เช่น การแทรก การลบ การเรียงลำดับ และการค้นหาสามารถทำได้โดยใช้คอลเล็กชัน ใน Java อินเทอร์เฟซแผนที่เป็นของคอลเลกชัน แผนที่ถูกใช้เพื่อแสดงข้อมูลในคีย์คู่ค่ามีเพียงคีย์ที่ไม่ซ้ำกัน และแต่ละคีย์มีค่าที่สอดคล้องกัน HashMap และ TreeMap เป็นคลาสที่ใช้อินเทอร์เฟซแผนที่ HashMap เป็นคลาสคอลเล็กชันตามแผนที่ที่ใช้สำหรับจัดเก็บคู่คีย์และค่าที่ไม่รักษาลำดับเฉพาะในองค์ประกอบข้อมูล TreeMap เป็นคลาสคอลเล็กชันตามแผนที่ที่ใช้สำหรับจัดเก็บคู่คีย์และค่าที่รักษาลำดับองค์ประกอบข้อมูลจากน้อยไปมาก ความแตกต่างที่สำคัญระหว่าง HashMap และ TreeMap คือ HashMap ไม่ได้รักษาลำดับเฉพาะในองค์ประกอบข้อมูลในขณะที่ TreeMap รักษาลำดับขององค์ประกอบข้อมูลจากน้อยไปมาก

HashMap คืออะไร

HashMap เป็นคลาสที่ใช้อินเทอร์เฟซของแผนที่ มันขยายคลาส AbstractMap และใช้อินเทอร์เฟซแผนที่ HashMap ประกอบด้วยคีย์ คู่ค่า แต่ละองค์ประกอบไม่ซ้ำกัน ง่ายต่อการค้นหาองค์ประกอบใน HashMap โดยใช้คีย์ การประกาศ HashMap มีดังต่อไปนี้

คลาสสาธารณะ HashMap ขยาย AbstractMap ใช้ Map, Cloneable, Serializable

K หมายถึงคีย์ในขณะที่ V หมายถึงค่าที่สอดคล้องกับคีย์เฉพาะนั้น แต่ละคีย์ คู่ค่า คือรายการของ HashMap

ความแตกต่างระหว่าง HashMap และ TreeMap
ความแตกต่างระหว่าง HashMap และ TreeMap

รูปที่ 01: ส่วนต่อประสานแผนที่

สมมติสถานการณ์ดังต่อไปนี้เพื่อทำความเข้าใจ HaspMap หากมีโปรแกรมเมอร์ต้องการเก็บชุดของชื่อนักเรียนและหมายเลขดัชนีที่เกี่ยวข้อง เขาสามารถใช้ HashMap ได้ ใช้ชื่อนักเรียนเพื่อค้นหาหมายเลขดัชนี ดังนั้นชื่อนักเรียนจึงเป็นกุญแจสำคัญ ในขณะที่ตัวเลขดัชนีคือค่า

ความแตกต่างระหว่าง HashMap และ TreeMap _Figure 02
ความแตกต่างระหว่าง HashMap และ TreeMap _Figure 02

รูปที่ 02: โปรแกรม HashMap โดยใช้ Java

ตามโปรแกรมด้านบน วัตถุของ HashMap จะถูกสร้างขึ้นจากนั้นโปรแกรมเมอร์สามารถเพิ่มองค์ประกอบโดยใช้วัตถุนั้น สามารถแทรกค่าได้โดยใช้วิธีการใส่ ในการดึงค่า โปรแกรมเมอร์ควรใช้เมธอด get กับคีย์ เมื่อใช้ studentList.get(“150”); มันจะพิมพ์ชื่อที่สอดคล้องกับดัชนีนั้นซึ่งก็คือแอน หากโปรแกรมเมอร์ต้องการรับค่าทั้งหมด เขาสามารถใช้ Map. Entry เพื่อพิมพ์คีย์และค่าทั้งหมดได้ เมื่อสังเกตผลลัพธ์ จะเห็นว่า HashMap ไม่ได้รักษาลำดับเฉพาะไว้ ไม่พิมพ์องค์ประกอบในลำดับที่แทรก องค์ประกอบจะถูกพิมพ์ในลำดับแบบสุ่ม

TreeMap คืออะไร

The TreeMap เป็นคลาสใน Java ที่ใช้ส่วนต่อประสานแผนที่ คล้ายกับ HashMap มันยังใช้สำหรับจัดเก็บคีย์ คู่ค่า แต่เรียงลำดับจากน้อยไปมาก TreeMap ใช้งาน NavigableMap และ NavigableMap ขยาย SortedMap และ SortedMap ขยายแผนที่ แต่ละองค์ประกอบไม่ซ้ำกัน การประกาศ TreeMap มีดังนี้

คลาสสาธารณะ TreeMap ขยาย AbstractMap ใช้งาน NavigableMap, Cloneable, Serializable

K หมายถึงคีย์ในขณะที่ V หมายถึงค่าที่สอดคล้องกับคีย์เฉพาะนั้น แต่ละคีย์ คู่ค่า คือรายการของ TreeMap

ความแตกต่างที่สำคัญระหว่าง HashMap และ TreeMap
ความแตกต่างที่สำคัญระหว่าง HashMap และ TreeMap

รูปที่ 03: โปรแกรม TreeMap โดยใช้ Java

ตามโปรแกรมด้านบน วัตถุของ TreeMap จะถูกสร้างขึ้น จากนั้นโปรแกรมเมอร์สามารถเพิ่มองค์ประกอบโดยใช้วัตถุนั้น สามารถแทรกค่าได้โดยใช้วิธีการใส่ ในการดึงค่า โปรแกรมเมอร์ควรใช้เมธอด get กับคีย์ เมื่อใช้ studentList.get(“150”); มันจะพิมพ์ชื่อที่สอดคล้องกับดัชนีนั้นซึ่งก็คือแอน หากโปรแกรมเมอร์ต้องการรับค่าทั้งหมด เขาสามารถใช้ Map. Entry เพื่อพิมพ์คีย์และค่าทั้งหมดได้ เมื่อสังเกตผลลัพธ์ จะเห็นว่า TreeMap รักษาลำดับเฉพาะไว้ พิมพ์องค์ประกอบจากน้อยไปมาก

ความคล้ายคลึงกันระหว่าง HashMap และ TreeMap คืออะไร

  • ทั้ง HashMap และ TreeMap ใช้อินเทอร์เฟซแผนที่
  • ทั้ง HashMap และ TreeMap สามารถจัดเก็บและจัดการองค์ประกอบต่างๆ ได้
  • ทั้ง HashMap และ TreeMap มีคีย์ คู่ค่า
  • ทั้ง HashMap และ TreeMap สามารถมีค่าว่างได้มากมาย
  • ไม่จำกัดจำนวนองค์ประกอบที่สามารถเก็บไว้ใน HashMap และ TreeMap

ความแตกต่างระหว่าง HashMap และ TreeMap คืออะไร

HashMap กับ TreeMap

A HashMap เป็นคลาสคอลเลกชั่นตามแผนที่ที่ใช้สำหรับจัดเก็บคู่คีย์และค่าซึ่งไม่ได้รักษาลำดับเฉพาะในองค์ประกอบข้อมูล A TreeMap คือคลาสคอลเลกชั่นตามแผนที่ที่ใช้สำหรับจัดเก็บคู่คีย์และค่าซึ่งรักษาลำดับขององค์ประกอบข้อมูลจากน้อยไปมาก
สั่งซื้อ
HashMap ไม่รักษาลำดับ The TreeMap รักษาลำดับจากน้อยไปมาก
ปุ่ม Null
HashMap สามารถมีคีย์ว่างได้หนึ่งคีย์ TreeMap ไม่สามารถมีคีย์ว่างได้
ประสิทธิภาพ
HashMap เร็วกว่า TreeMap TreeMap ช้ากว่า HashMap

สรุป – HashMap vs TreeMap

ภาษาโปรแกรมเช่น Java มีเฟรมเวิร์กการรวบรวม ในอาร์เรย์สามารถมีองค์ประกอบได้จำนวนคงที่ ดังนั้น ขนาดอาร์เรย์ควรเริ่มต้นที่จุดเริ่มต้น ในคอลเล็กชัน โปรแกรมเมอร์สามารถจัดเก็บองค์ประกอบต่างๆ ได้ตามต้องการไม่มีปริมาณเฉพาะในการจัดเก็บ แผนที่เป็นส่วนต่อประสานที่เป็นของเฟรมเวิร์กการรวบรวม HashMap เป็นคลาสคอลเล็กชันตามแผนที่ที่ใช้สำหรับจัดเก็บคู่คีย์และค่าซึ่งไม่รักษาลำดับเฉพาะในองค์ประกอบข้อมูล TreeMap เป็นคลาสคอลเล็กชันตามแผนที่ที่ใช้สำหรับจัดเก็บคู่คีย์และค่าซึ่งรักษาลำดับองค์ประกอบข้อมูลจากน้อยไปมาก บทความนี้กล่าวถึงความแตกต่างระหว่าง HashMap และ TreeMap ซึ่งใช้อินเทอร์เฟซแผนที่ ความแตกต่างระหว่าง HashMap และ TreeMap คือ HashMap ไม่ได้รักษาลำดับเฉพาะในองค์ประกอบข้อมูลในขณะที่ TreeMap รักษาลำดับขององค์ประกอบข้อมูลจากน้อยไปมาก

แนะนำ: