วิธีการติดตั้ง Map Interface ใน Java?



บทความเกี่ยวกับ Java Map Inteface นี้จะช่วยให้คุณเข้าใจวิธีการทำงานของแผนที่ใน Java และแนะนำคุณเกี่ยวกับคลาสต่างๆที่ใช้ Map Interface

หนึ่งในหัวข้อที่น่าสนใจที่สุดใน Java คือส่วนต่อประสานแผนที่ซึ่งแสดงถึงการจับคู่ระหว่างคีย์และค่ามักจะเข้าใจผิดว่าเป็นประเภทย่อยของ อินเทอร์เฟซใน Javaบทความนี้เกี่ยวกับ Java Map Interface จะช่วยให้คุณเข้าใจและเชี่ยวชาญในการทำงานของแผนที่ .

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





Java Map Interface

แผนที่ใน Java คือไฟล์ วัตถุ ที่จับคู่คีย์กับค่าและออกแบบมาเพื่อการค้นหาที่รวดเร็วขึ้น ข้อมูลจะถูกเก็บไว้ในคู่คีย์ - ค่าและทุกคีย์จะไม่ซ้ำกัน แต่ละคีย์แมปกับค่าด้วยเหตุนี้แผนที่ชื่อ คู่คีย์ - ค่าเหล่านี้เรียกว่ารายการแผนที่

แผนที่ใน Java - Java Map Interface - Edureka



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

ลักษณะของส่วนต่อประสานแผนที่

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

ตอนนี้คุณมีความคิดแล้วว่าอินเทอร์เฟซแผนที่เป็นอย่างไร คือมาดูลำดับชั้นของแผนที่ Java กัน

ลำดับชั้นแผนที่ Java

มีสองอินเทอร์เฟซที่ใช้ Map ใน java: Map และ SortedMap และคลาสการใช้งานแผนที่ใน Java ที่เป็นที่นิยม ได้แก่ HashMap, TreeMap และ LinkedHashMap ลำดับชั้นของแผนที่ Java แสดงไว้ด้านล่าง:



วิธีการเรียนรู้ Visual Studio

ก่อนที่เราจะตรวจสอบคลาสการใช้งานสามคลาสของ Java Map Interface ที่กล่าวถึงข้างต้นต่อไปนี้เป็นวิธีการทั่วไปที่คุณสามารถพบได้เมื่อทำงานกับแผนที่

วิธีการใน Java Map Interface

วิธีการ

คำอธิบาย

ใส่สาธารณะ (คีย์วัตถุค่าวัตถุ)วิธีนี้จะแทรกรายการในแผนที่
สาธารณะเป็นโมฆะ putAll (แผนที่แผนที่)วิธีนี้จะแทรกแผนที่ที่ระบุในแผนที่นี้
ลบวัตถุสาธารณะ (คีย์วัตถุ)ใช้เพื่อลบรายการสำหรับคีย์ที่ระบุ
สาธารณะตั้งค่า keySet ()จะส่งคืนมุมมองชุดที่มีคีย์ทั้งหมด
สาธารณะ Set entrySet ()จะส่งคืนมุมมอง Set ที่มีคีย์และค่าทั้งหมด
เป็นโมฆะชัดเจน ()ใช้เพื่อรีเซ็ตแผนที่
โมฆะสาธารณะ putIfAbsent (คีย์ K ค่า V)จะแทรกค่าที่ระบุด้วยคีย์ที่ระบุในแผนที่หากยังไม่ได้ระบุไว้
รับวัตถุสาธารณะ (คีย์วัตถุ)ส่งคืนค่าสำหรับคีย์ที่ระบุ
บูลีนสาธารณะประกอบด้วยคีย์ (คีย์วัตถุ)
ใช้เพื่อค้นหาคีย์ที่ระบุจากแผนที่นี้

การใช้งานแผนที่

มีหลาย ที่ใช้ Java Mapแต่การใช้งานหลักและวัตถุประสงค์ทั่วไปสามประการคือHashMap, TreeMap และ LinkedHashMapมาดูลักษณะและพฤติกรรมของการใช้งานแต่ละครั้งพร้อมตัวอย่าง

คลาส HashMap

คลาสทั่วไปที่ใช้อินเตอร์เฟส Java Map คือ HashMap เป็นตารางแฮชตามการใช้งานอินเทอร์เฟซแผนที่ใช้การดำเนินการแผนที่ทั้งหมดและอนุญาตให้มีค่า null และหนึ่งคีย์ นอกจากนี้คลาสนี้ไม่ได้รักษาลำดับใด ๆ ในองค์ประกอบต่างๆ นี่คือตัวอย่างโปรแกรมที่สาธิตคลาส HashMap

package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // เพิ่มบางหลักสูตร courses.put ('Java Courses', new Integer (6)) courses.put ('Cloud Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (5)) courses.put (' หลักสูตรวิทยาศาสตร์ข้อมูล 'จำนวนเต็มใหม่ (2)) System.out.println (' หลักสูตรทั้งหมด: '+ หลักสูตรขนาด ()) ชุดst = courses.entrySet () สำหรับ (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' if (courses.containsKey (searchKey)) System.out.println ('Found total' + courses.get (searchKey) + '' + searchKey)}}

เอาต์พุต

หลักสูตรทั้งหมด: 4 หลักสูตรระบบคลาวด์: 7 หลักสูตรการเขียนโปรแกรม: 5 หลักสูตรวิทยาศาสตร์ข้อมูล: 2 หลักสูตร Java: 6 พบทั้งหมด 6 หลักสูตร Java

ในโปรแกรมข้างต้นฉันใช้วิธีการมากมายที่กล่าวถึงในตาราง ประการแรก ใส่ () วิธีการแทรก 4 รายการลงในแผนที่และ ขนาด() วิธีการในขั้นตอนถัดไปจะแสดงขนาดของแผนที่ (คู่คีย์ - ค่าทั้งหมด) หลังจากนั้นในขั้นตอนต่อไปไฟล์ entrySet () วิธีการส่งคืนคู่คีย์ - ค่าทั้งหมด โปรแกรมยังแสดงวิธีการใช้ประโยชน์จากไฟล์ รับ () วิธีการค้นหาค่าโดยใช้คีย์ที่เกี่ยวข้อง

มาดูคลาสถัดไปที่ใช้ Java Map Interface - TreeMap

คลาส TreeMap

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

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // เพิ่มบางรายวิชา courses.put ('Java Courses', new Integer (3)) courses.put ('AWS Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (8)) courses.put (' หลักสูตรวิทยาศาสตร์ข้อมูล 'จำนวนเต็มใหม่ (2)) System.out.println (' หลักสูตรทั้งหมด: '+ หลักสูตรขนาด ()) ชุดst = courses.entrySet () สำหรับ (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

เอาต์พุต

หลักสูตรทั้งหมด: 4 AWS Courses: 7 Data Science Courses: 2 Java Courses: 3 Programming Courses: 8

ในผลลัพธ์องค์ประกอบของแผนที่จะพิมพ์ตามลำดับคำศัพท์ที่เข้มงวดซึ่งไม่ปรากฏในตัวอย่างก่อนหน้าของ HashMap คลาสต่อไปที่เราจะพูดถึงคือ LinkedHashMap .

คลาส LinkedHashMap

ตามชื่อที่ระบุการใช้งานอินเตอร์เฟส Java Map นี้ใช้ตารางแฮชและรายการที่เชื่อมโยงเป็นโครงสร้างข้อมูลพื้นฐาน ดังนั้นลำดับของ LinkedHashMap คือสามารถคาดเดาได้โดยมีลำดับการแทรกเป็นคำสั่งเริ่มต้น นอกจากนี้ยังอนุญาตให้ใช้ null เช่นใน HashMap นี่คือตัวอย่างโปรแกรมที่สาธิตคลาส TreeMap

แพคเกจ MyPackage นำเข้า java.util * คลาสสาธารณะ LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' หลักสูตรระบบคลาวด์, จำนวนเต็มใหม่ (7)) courses.put ('หลักสูตรการเขียนโปรแกรม', จำนวนเต็มใหม่ (8)) courses.put ('หลักสูตรวิทยาศาสตร์ข้อมูล', จำนวนเต็มใหม่ (2)) // พิมพ์องค์ประกอบตามลำดับเดียวกัน // ขณะที่พวกเขาถูกแทรก System.out.println (หลักสูตร) ​​System.out.println ('หลักสูตรทั้งหมด:' + courses.size ()) System.out.println ('มีคีย์' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('รับค่าสำหรับคีย์' Programming Courses ':' + courses.get ('หลักสูตรการเขียนโปรแกรม')) System.out.println ('แผนที่ว่างเปล่าหรือไม่' + courses.isEmpty ()) System.out.println ('ลบองค์ประกอบ' Cloud Courses ':' + courses.remove ('หลักสูตรคลาวด์')) System.out.println (หลักสูตร)}}

เอาต์พุต

{Java Courses = 3, Cloud Courses = 7, Programming Courses = 8, Data Science Courses = 2} Total courses: 4 มีคีย์ 'Hadoop'? เท็จรับค่าสำหรับคีย์ 'หลักสูตรการเขียนโปรแกรม': 8 แผนที่ว่างเปล่าหรือไม่? องค์ประกอบลบเท็จ 'หลักสูตรคลาวด์': 7 {หลักสูตร Java = 3, หลักสูตรการเขียนโปรแกรม = 8, หลักสูตรวิทยาศาสตร์ข้อมูล = 2}

โปรแกรมตัวอย่างนั้นค่อนข้างเข้าใจง่าย ฉันใช้วิธีการพื้นฐานบางอย่างเพื่อสาธิตการทำงานของ LinkeHashMap ใน Java อย่างที่ฉันได้กล่าวไปก่อนหน้านี้นอกจากสามคลาสนี้แล้วยังมีคลาสอื่น ๆ อีกมากมายที่ใช้อินเตอร์เฟส Java Map

เรามาถึงตอนท้ายของบทความ 'Java Map Interface' ฉันได้กล่าวถึงหนึ่งในหัวข้อที่น่าสนใจของ Java ซึ่งก็คือส่วนต่อประสานแผนที่ใน Java

ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์

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

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ 'java Map interface' บทความและเราจะติดต่อกลับโดยเร็วที่สุด