แผนที่เป็นโครงสร้างข้อมูลที่สำคัญใน Java ที่เก็บคู่คีย์-ค่า อินเทอร์เฟซแผนที่ถูกนำมาใช้โดยคลาสต่างๆ ใน ​​Java เช่น HashMap, TreeMap และ LinkedHashMap ในบทความนี้ เราจะพูดถึงการทำงานพื้นฐานของแผนที่ รวมถึงการเพิ่ม การลบ และการเข้าถึงองค์ประกอบใน Java

การเพิ่มองค์ประกอบลงในแผนที่ ในการเพิ่มองค์ประกอบลงในแผนที่ เราจำเป็นต้องใช้เมธอด put() เมธอด put() รับพารามิเตอร์สองตัว: คีย์และค่า นี่คือตัวอย่าง:

Map<String, Integer> map = new HashMap<>();
map.put("John", 25);
map.put("Jane", 30);

ในตัวอย่างข้างต้น เราได้สร้างอินสแตนซ์ HashMap ที่เก็บคีย์สตริงและค่าจำนวนเต็ม จากนั้นเราได้เพิ่มองค์ประกอบสองอย่างลงในแผนที่: คีย์ “John” ที่มีค่า 25 และคีย์ “Jane” ที่มีค่า 30

การอัปเดตองค์ประกอบในแผนที่ เพื่ออัปเดตค่าของคีย์ที่มีอยู่ในแผนที่ เราสามารถเรียกเมธอด put() ด้วยคีย์เดียวกันได้ นี่คือตัวอย่าง:

Map<String, Integer> map = new HashMap<>();
map.put("John", 25);
map.put("Jane", 30);
map.put("John", 26); // update the value of the key "John" to 26

ในตัวอย่างข้างต้น เราได้อัปเดตค่าของคีย์ “John” เป็น 26

การลบองค์ประกอบออกจากแผนที่ ในการลบองค์ประกอบออกจากแผนที่ เราจำเป็นต้องใช้เมธอด Remove() เมธอด Remove() ใช้คีย์เป็นพารามิเตอร์ นี่คือตัวอย่าง:

Map<String, Integer> map = new HashMap<>();
map.put("John", 25);
map.put("Jane", 30);
map.remove("John"); // remove the element with key "John"

ในตัวอย่างข้างต้น เราได้ลบองค์ประกอบที่มีคีย์ “John” ออกจากแผนที่

การเข้าถึงองค์ประกอบในแผนที่ ในการเข้าถึงองค์ประกอบในแผนที่ เราจำเป็นต้องใช้เมธอด get() เมธอด get() รับคีย์เป็นพารามิเตอร์และส่งกลับค่าที่เกี่ยวข้องกับคีย์ นี่คือตัวอย่าง:

Map<String, Integer> map = new HashMap<>();
map.put("John", 25);
map.put("Jane", 30);
int johnAge = map.get("John"); // get the value associated with the key "John"

ในตัวอย่างข้างต้น เราได้เข้าถึงค่าที่เกี่ยวข้องกับคีย์ “John” และจัดเก็บไว้ในตัวแปร John Age

การวนซ้ำองค์ประกอบในแผนที่ ในการวนซ้ำองค์ประกอบทั้งหมดในแผนที่ เราสามารถใช้ for-each loop หรือตัววนซ้ำ นี่คือตัวอย่างการใช้ for-each loop:

Map<String, Integer> map = new HashMap<>();
map.put("John", 25);
map.put("Jane", 30);

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    int value = entry.getValue();
    System.out.println(key + ": " + value);
}

ในตัวอย่างข้างต้น เราได้ใช้เมธอด entrySet() เพื่อรับชุดของคู่คีย์-ค่าทั้งหมดในแผนที่ จากนั้นเราใช้ for-each loop เพื่อวนซ้ำชุดและพิมพ์คู่คีย์-ค่าแต่ละคู่

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

HashMap มอบประสิทธิภาพตามเวลาคงที่สำหรับการดำเนินการพื้นฐาน (put(), get() และ Remove()) โดยเฉลี่ย ตราบใดที่ฟังก์ชันแฮชกระจายคีย์เท่าๆ กันทั่วทั้งบัคเก็ต