รหัสการใช้งานของรายการชุดคอลเลกชันและแผนที่ใน Java มีดังนี้:
แพ็คเกจ tingjizifu; นำเข้า java.util.*; คลาสสาธารณะ Tongji {/** ใช้เครื่องสแกนเนอร์เพื่ออ่านสตริงจากคอนโซลนับจำนวนครั้งที่ตัวละครแต่ละตัวปรากฏในสตริงและต้องการข้อกำหนดข้างต้นเพื่อให้เสร็จสมบูรณ์โดยใช้ความรู้ที่เรียนรู้ */โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// อินพุตสตริงสแกนเนอร์อินพุต = สแกนเนอร์ใหม่ (System.in); String shuru = input.next (); // โหลดอักขระสตริงลงในรายการรายการ <string> list = new ArrayList <String> (); สำหรับ (int i = 0; i <shuru.length (); i ++) {list.add (string.valueof (shuru.charat (i))));} // ตัวอักษรสตริงโหลดลงในชุดตั้งค่า <string> set = new hashset <string> (); สำหรับ (int i = 0; i <shuru.length (); i ++) {set.add (string.valueof (shuru.charat (i)));} // เปรียบเทียบอักขระในชุดที่มีอักขระในรายการและเพิ่ม 1 เพื่อนับในลักษณะเดียวกัน // จากนั้นใช้อักขระในชุดตั้งค่าเป็นคีย์ (คีย์) และหมายเลขที่นับเป็นค่า (ค่า) และในที่สุดก็พิมพ์ข้อมูลในแผนที่ <String, Integer> MAP = ใหม่ HashMap <String, Integer> (); สำหรับ (string str: set) {int sum = 0; // system.out.println (str); สำหรับ (int i = 0; i <list.size (); i ++) {ถ้า (list.get (i) .equals (str)) {sum ++;}} map.put (str, sum);} ตั้งค่า <string> ss = map.keyset (); สำหรับ (String str: ss) {system.out.println (str + "ปรากฏคือ" + map.get (str) + "times");} input.close ();}}มาดูความแตกต่างระหว่างรายการแผนที่ที่ตั้งไว้
อินเทอร์เฟซคอลเลกชันทั้งหมด
ชุด -ค่าในนั้นไม่ได้รับอนุญาตให้ทำซ้ำและโครงสร้างข้อมูลที่ไม่ได้เรียงลำดับคือ
รายการ - ค่าที่ได้รับอนุญาตให้ทำซ้ำเพราะเป็นโครงสร้างข้อมูลที่สั่งซื้อ
โครงสร้างข้อมูล Map-paired คีย์จะต้องไม่ซ้ำกัน (ปุ่มไม่เหมือนกันมิฉะนั้นจะเปลี่ยนค่า)
รายการบันทึกวัตถุในลำดับที่วัตถุป้อนโดยไม่ต้องเรียงลำดับหรือแก้ไขการดำเนินการ
Set ยอมรับเพียงครั้งเดียวสำหรับแต่ละวัตถุและใช้วิธีการเรียงลำดับภายในของตัวเอง (โดยปกติคุณจะสนใจว่าองค์ประกอบเป็นของชุดไม่ใช่คำสั่งซื้อ - มิฉะนั้นคุณควรใช้รายการ)
แผนที่ยังบันทึกสำเนาของแต่ละองค์ประกอบ แต่สิ่งนี้ขึ้นอยู่กับ "คีย์" และแผนที่ยังมีการเรียงลำดับในตัวดังนั้นจึงไม่สนใจลำดับที่เพิ่มองค์ประกอบ หากลำดับที่มีการเพิ่มองค์ประกอบเป็นสิ่งสำคัญสำหรับคุณคุณควรใช้ LinkedHashSet หรือ LinkedHashMap
คอลเลกชันเป็นคอลเลกชันวัตถุและคอลเลกชันมีสองรายการ subinterfaces และตั้งค่า
รายการสามารถรับค่าได้โดยการห้อย (1,2 .. ) และค่าสามารถทำซ้ำได้
ชุดสามารถใช้เคอร์เซอร์เพื่อรับค่าเท่านั้นและไม่สามารถทำซ้ำค่าได้
ArrayList, Vector, LinkedList เป็นคลาสการใช้งานของรายการ
ArrayList เป็นเธรดที่ไม่ปลอดภัยเวกเตอร์คือเธรดที่ปลอดภัยและทั้งสองคลาสจะถูกนำไปใช้โดยอาร์เรย์
LinkedList เป็นความปลอดภัยของเธรดและเลเยอร์พื้นฐานจะถูกนำไปใช้โดยรายการที่เชื่อมโยง
แผนที่เป็นคอลเลกชันคู่คีย์-ค่า
Hashtable และ HashMap เป็นคลาสการใช้งานแผนที่
Hashtable คือ Thread-Safe และไม่สามารถเก็บค่า NULL
HashMap ไม่ปลอดภัยกับเธรดและสามารถจัดเก็บค่า NUL
ข้างต้นคือความรู้เกี่ยวกับการใช้รายการชุดคอลเลกชันและแผนที่ใน Java แนะนำให้คุณรู้จักโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!