เหตุใดเราจึงใช้ TreeMap ใน Java
เหตุใดเราจึงใช้ TreeMap ใน Java

วีดีโอ: เหตุใดเราจึงใช้ TreeMap ใน Java

วีดีโอ: เหตุใดเราจึงใช้ TreeMap ใน Java
วีดีโอ: สอน Java: การใช้งาน TreeMap และการสร้าง TreeMap เพื่อเลียนแบบการทำงานฟังก์ชัน VLookup ของ Excel 2024, พฤศจิกายน
Anonim

NS TreeMap ใน Java เป็น ใช้แล้ว เพื่อใช้ Map interface และ NavigableMap ร่วมกับ Abstract Class แผนที่ถูกจัดเรียงตามการเรียงลำดับตามธรรมชาติของปุ่ม หรือโดยตัวเปรียบเทียบที่มีให้ในเวลาที่สร้างแผนที่ ขึ้นอยู่กับตัวสร้าง ใช้แล้ว.

คำถามก็คือ TreeMap ทำงานอย่างไร

แผนที่ต้นไม้ ในชวา NS แผนที่ต้นไม้ ใช้เพื่อนำส่วนต่อประสานแผนที่และ NavigableMap ไปใช้พร้อมกับคลาสนามธรรม นอกจากนี้ องค์ประกอบทั้งหมดยังเก็บไว้ใน แผนที่ต้นไม้ จะถูกจัดเรียงตามคีย์ แผนที่ต้นไม้ ทำการเรียงลำดับตามธรรมชาติบนคีย์ของมัน และยังช่วยให้คุณใช้ตัวเปรียบเทียบสำหรับการปรับใช้การเรียงลำดับแบบกำหนดเองได้

ในทำนองเดียวกัน เหตุใด HashMap จึงเร็วกว่า TreeMap มันให้ประสิทธิภาพของ O(1) ในขณะที่ แผนที่ต้นไม้ ให้ประสิทธิภาพของ O(log(n)) เพื่อเพิ่ม ค้นหา และลบรายการ เพราะฉะนั้น, HashMap มักจะ เร็วขึ้น . NS แผนที่ต้นไม้ ใช้หน่วยความจำอย่างมีประสิทธิภาพมากขึ้น ดังนั้นจึงเป็นการปรับใช้แผนที่ที่ดีสำหรับคุณ หากคุณไม่แน่ใจเกี่ยวกับปริมาณองค์ประกอบที่ต้องเก็บไว้ในหน่วยความจำ

ผู้คนยังถามว่า TreeMap ใช้การแฮชหรือไม่?

TreeMap คือ ช้าเมื่อเปรียบเทียบกับ HashMap เพราะมันให้ประสิทธิภาพของ O(log(n)) สำหรับการดำเนินการส่วนใหญ่ เช่น add(), remove() และ contain() คลาส HashMap ใช้ NS กัญชา ตาราง. แผนที่ต้นไม้ ภายใน ใช้ ต้นไม้สีแดง-ดำซึ่ง เป็น โครงสร้างการค้นหาไบนารีที่สมดุลในตัวเอง เมธอด equals() ของคลาส Map จะแทนที่มัน

TreeMap ถูกจัดเรียงหรือไม่

รายการใน a แผนที่ต้นไม้ อยู่เสมอ จัดเรียง ขึ้นอยู่กับการเรียงลำดับตามธรรมชาติของคีย์ หรือตามตัวเปรียบเทียบแบบกำหนดเองที่คุณระบุได้ในขณะที่สร้าง แผนที่ต้นไม้ . แผนที่ต้นไม้ ไม่สามารถมีคีย์ null อย่างไรก็ตาม สามารถมีค่าว่างได้ แผนที่ต้นไม้ ไม่ได้รับการซิงโครไนซ์

แนะนำ: