Java HashMap - รู้วิธีการใช้งาน HashMap ใน Java



บทความเกี่ยวกับ Java HashMap นี้จะให้คุณเกี่ยวกับคลาส HashMap ใน Java ซึ่งเป็นส่วนหนึ่งของคอลเลกชันของ Java ตั้งแต่ Java 1.2 มีการใช้งานอินเทอร์เฟซ Map พื้นฐานใน Java

HashMap เป็นคลาสคอลเลกชันที่ใช้แผนที่ใน Java ซึ่งใช้เพื่อจัดเก็บข้อมูลในคู่คีย์และค่า นอกจากนี้ยังช่วยในการใช้งานอินเทอร์เฟซแผนที่ใน Java ในสื่อของบทความนี้ฉันจะบอกวิธีการนำไปใช้ HashMap

หัวข้อด้านล่างนี้กล่าวถึงในบทความนี้:





Java HashMap คืออะไร

HashMap โดยพื้นฐานแล้วเป็นส่วนหนึ่งของ ตั้งแต่ Java 1.2 ให้การใช้งานพื้นฐานของแผนที่ อินเทอร์เฟซใน Java . โดยทั่วไปจะจัดเก็บข้อมูลเป็นคู่ในรูปแบบของ (Key, Value) ในการเข้าถึงค่าภายใน HashMap คุณต้องรู้คีย์

คู่ค่าคีย์ - Java HashMap - Edurekaมีชื่อว่า 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 พารามิเตอร์:

  1. ความจุเริ่มต้น : ความจุเป็นเพียงจำนวนที่เก็บข้อมูลในขณะที่ไฟล์ ความจุเริ่มต้น คือความจุของอินสแตนซ์ HashMap เมื่อสร้างขึ้น
  2. โหลดปัจจัย: โหลดปัจจัย เป็นตัวชี้วัดว่าควรทำใหม่เมื่อใด 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 ” บทความ และเราจะติดต่อกลับโดยเร็วที่สุด