HashMap เป็นคลาสคอลเลกชันที่ใช้แผนที่ใน Java ซึ่งใช้เพื่อจัดเก็บข้อมูลในคู่คีย์และค่า นอกจากนี้ยังช่วยในการใช้งานอินเทอร์เฟซแผนที่ใน Java ในสื่อของบทความนี้ฉันจะบอกวิธีการนำไปใช้ HashMap
หัวข้อด้านล่างนี้กล่าวถึงในบทความนี้:
- Java Hashmap คืออะไร
- คุณสมบัติของ Hashmap
- ประสิทธิภาพของ Java HashMap
- ผู้สร้าง HashMap ใน Java
- การใช้งาน HashMap
Java HashMap คืออะไร
HashMap โดยพื้นฐานแล้วเป็นส่วนหนึ่งของ ตั้งแต่ Java 1.2 ให้การใช้งานพื้นฐานของแผนที่ อินเทอร์เฟซใน Java . โดยทั่วไปจะจัดเก็บข้อมูลเป็นคู่ในรูปแบบของ (Key, Value) ในการเข้าถึงค่าภายใน HashMap คุณต้องรู้คีย์
มีชื่อว่า HashMap เนื่องจากใช้เทคนิคที่เรียกว่า Hashing การแฮชเป็นกระบวนการแปลงสตริงที่ใหญ่กว่าให้เป็นสตริงที่เล็กกว่าโดยการรักษาค่าของ เป็นค่าคงที่ ค่าที่บีบอัดที่ได้จะช่วยในการจัดทำดัชนีและการค้นหาที่เร็วขึ้น
ด้วยเหตุนี้ตอนนี้เรามาดูคุณสมบัติต่างๆของ HashMap ใน Java กัน
คุณสมบัติของ HashMap
Hash Map เป็นส่วนหนึ่งของเครื่องมือ แพ็คเกจใน Java .
HashMap ขยายไฟล์ ชั้นนามธรรม AbstractMap ซึ่งยังมีการใช้งานอินเทอร์เฟซแผนที่ที่ไม่สมบูรณ์
ผสานซอร์สโค้ด c ++ เรียงลำดับ
นอกจากนี้ยังใช้ Cloneable และ ต่อเนื่องได้ K และ V ในคำจำกัดความข้างต้นแสดงถึงคีย์และค่าตามลำดับ
HashMap ไม่อนุญาตให้มีคีย์ที่ซ้ำกัน แต่อนุญาตให้มีค่าที่ซ้ำกัน ซึ่งหมายความว่าคีย์เดียวต้องมีมากกว่า 1 ค่าได้ แต่มีมากกว่า 1 คีย์สามารถมีค่าเดียวได้
HashMap อนุญาตเฉพาะคีย์ null แต่สามารถใช้ค่า null หลายค่าได้
คลาสนี้ไม่รับประกันเกี่ยวกับลำดับของแผนที่โดยเฉพาะไม่รับประกันว่าคำสั่งซื้อจะคงที่เมื่อเวลาผ่านไป มันคล้ายกับ Hash Table โดยประมาณ แต่ไม่ซิงโครไนซ์
ตอนนี้คุณรู้แล้วว่า Hashmap คืออะไรและคุณสมบัติต่างๆมาดูกันว่าเราจะไปต่อและทำความเข้าใจกับประสิทธิภาพของ Java Hashmap
ประสิทธิภาพของ Java HashMap
ประสิทธิภาพส่วนใหญ่ขึ้นอยู่กับ 2 พารามิเตอร์:
- ความจุเริ่มต้น : ความจุเป็นเพียงจำนวนที่เก็บข้อมูลในขณะที่ไฟล์ ความจุเริ่มต้น คือความจุของอินสแตนซ์ HashMap เมื่อสร้างขึ้น
- โหลดปัจจัย: โหลดปัจจัย เป็นตัวชี้วัดว่าควรทำใหม่เมื่อใด Rehashing เป็นกระบวนการเพิ่มขีดความสามารถ ในความจุ HashMap จะคูณด้วย 2 Load Factor ยังเป็นตัวชี้วัดในการตัดสินใจว่าส่วนใดของ HashMap ที่ได้รับอนุญาตให้เติมก่อนทำการแฮชใหม่ เมื่อจำนวนรายการใน HashMap เพิ่มขึ้นผลคูณของความจุปัจจุบันและความจุ Load Factor ก็เพิ่มขึ้นด้วย นั่นหมายความว่าการทำใหม่เสร็จสิ้น
บันทึก :หากความจุเริ่มต้นสูงขึ้นจะไม่มีการรีแฮชใหม่ แต่การทำให้สูงขึ้นจะเพิ่มความซับซ้อนของเวลาในการทำซ้ำ ดังนั้นจึงควรเลือกอย่างชาญฉลาดเพื่อเพิ่มประสิทธิภาพ จำนวนค่าที่คาดไว้ควรนำมาพิจารณาเพื่อกำหนดความจุเริ่มต้น ค่าตัวประกอบภาระที่ต้องการโดยทั่วไปคือ 0.75 ซึ่งให้ข้อตกลงที่ดีระหว่างต้นทุนเวลาและพื้นที่ ค่าของปัจจัยการโหลดจะแตกต่างกันระหว่าง 0 ถึง 1
ตัวสร้างใน HashMap
HashMap มีสี่ ช่างก่อสร้าง และ เข้าถึงแก้ไข ของแต่ละคนเป็นสาธารณะ:
ตัวสร้าง | คำอธิบาย |
1. HashMap () | เป็นตัวสร้างเริ่มต้นที่สร้างอินสแตนซ์ของ HashMap ที่มีความจุเริ่มต้น 16 และโหลดแฟกเตอร์ 0.75 |
2. HashMap (ความจุเริ่มต้น int) | สิ่งนี้ใช้เพื่อสร้างอินสแตนซ์ HashMap ที่ระบุความจุเริ่มต้นและโหลดแฟกเตอร์ 0.75 |
3. HashMap (int ความจุเริ่มต้นปัจจัยการโหลดลอย) | สร้างอินสแตนซ์ HashMap ที่มีความจุเริ่มต้นที่ระบุและโหลดแฟกเตอร์ที่ระบุ |
4. HashMap (แผนที่แผนที่) | สร้างอินสแตนซ์ของ HashMap ที่มีการแมปเดียวกันกับแผนที่ที่ระบุ |
ตอนนี้เรามาดูวิธีใช้ HashMap กัน Java .
การใช้งาน HashMap
โปรแกรมด้านล่างนี้แสดงวิธีการใช้งาน HashMap ใน Java
สตริงใน java ไม่เปลี่ยนรูป
package Edureka // โปรแกรม Java เพื่อแสดง //Java.util.HashMap import java.util.HashMap import java.util.Map public class Hashmap {public static void main (String [] args) {HashMa map = new HashMap () print (แผนที่) map.put ('abc', 10) map.put ('mno', 30) map.put ('xyz', 20) System.out.println ('ขนาดของแผนที่คือ' + map.size ( )) พิมพ์ (แผนที่) ถ้า (map.containsKey ('mno')) {จำนวนเต็ม a = map.get ('mno') System.out.println ('ค่าสำหรับคีย์ ' mno 'คือ: -' + a )} map.clear () print (map)} public static void print (แผนที่แผนที่) {if (map.isEmpty ()) {System.out.println ('map is empty')} else {System.out.println (แผนที่)}}}
ในการรันโปรแกรม HashMap ผลลัพธ์จะเป็นดังนี้:
แผนที่ว่างเปล่าขนาดของแผนที่คือ: - 3 {abc = 10, xyz = 20, mno = 30} ค่าสำหรับคีย์ 'abc' คือ: - 10 แผนที่ว่างเปล่า
ดังนั้นเราจึงมาถึงจุดสิ้นสุดของไฟล์ บทความ HashMap ฉันหวังว่าคุณจะพบว่ามันให้ข้อมูลและช่วยคุณในการทำความเข้าใจพื้นฐาน
ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมที่จะช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ“ Java HashMap ” บทความ และเราจะติดต่อกลับโดยเร็วที่สุด