HashSet ใน Java เป็นหนึ่งในส่วนที่สำคัญที่สุดของ . โดยทั่วไปจะใช้เพื่อจัดเก็บค่าที่ไม่ซ้ำกันในลักษณะที่ไม่เรียงลำดับ ผ่านสื่อของบทความนี้เกี่ยวกับ HashSet ใน Java ฉันจะให้คำแนะนำแบบสมบูรณ์เกี่ยวกับ HashSet คืออะไรและคุณจะใช้มันในแอปพลิเคชันของคุณได้อย่างไร
ด้านล่างนี้เป็นหัวข้อที่กล่าวถึงในบทความนี้:
- HashSet ใน Java
- Java HashSet กับ HashMap
- ลำดับชั้นของ HashSet
- ตัวสร้างของ java.util.HashSet Class
- วิธีการของ java.util.HashSet Class
- การติดตั้ง HashSet ในโปรแกรม Java
เริ่มต้นด้วยการทำความเข้าใจก่อนว่า HashSet ใน Java คืออะไร
ตัวดำเนินการขอบเขต c ++
HashSet ใน Java
java.util.HashSet ชั้นเรียน เป็นสมาชิกของเฟรมเวิร์กคอลเลกชัน Java ซึ่งสืบทอดคลาส AbstractSet และใช้ชุด อินเตอร์เฟซ . มันใช้แฮชแท็กโดยปริยายสำหรับการสร้างและจัดเก็บคอลเลกชันขององค์ประกอบที่ไม่ซ้ำกัน Hashtable เป็นเพียงตัวอย่างของคลาส HashMap ที่ใช้กลไกการแฮชเพื่อจัดเก็บข้อมูลภายใน HashSet
การแฮชเป็นกระบวนการแปลงเนื้อหาที่ให้ข้อมูลเป็นค่าเฉพาะซึ่งเป็นที่รู้จักกันดีในชื่อแฮชโค้ด จากนั้นแฮชโค้ดนี้จะใช้สำหรับการสร้างดัชนีข้อมูลที่เกี่ยวข้องกับคีย์ กระบวนการทั้งหมดในการเปลี่ยนคีย์ข้อมูลเป็นรหัสแฮชจะดำเนินการภายใน
ตอนนี้เพื่อความเข้าใจที่ดีขึ้นเกี่ยวกับ HashSet ใน Java ให้ฉันระบุคุณสมบัติบางประการ:
- HashSet ใน Java ไม่อนุญาตให้มีค่าที่ซ้ำกัน
- สามารถมีค่าว่าง
- HashSet ไม่เป็นไปตามลำดับการแทรกเพื่อจัดเก็บข้อมูล แต่จะใช้แฮชโค้ดในการสร้างดัชนีค่าภายใน
- มันไม่ใช่ ซิงโครไนซ์ ซึ่งจะทำให้เธรดไม่ปลอดภัยโดยอัตโนมัติ
- คลาส HashSet ยังใช้ Cloneable และอินเทอร์เฟซแบบอนุกรมได้
เมื่อคุณทราบแล้วว่า HashSet ใน Java คืออะไรกันแน่เรามาดูบทความนี้กันดีกว่าและอธิบายความแตกต่างระหว่าง HashMap และ HashSet ใน Java
Java HashSet กับ HashMap
แฮชเซ็ต | HashMap |
การดำเนินการjava.utilตั้งค่าอินเทอร์เฟซ | การดำเนินการjava.util.Map |
เก็บข้อมูลเป็นวัตถุ | จัดเก็บข้อมูลในรูปแบบของคู่คีย์ - ค่า |
HashSet ต้องการเพียงพารามิเตอร์เดียวสำหรับการเริ่มต้นอ็อบเจ็กต์ | ต้องใช้สองพารามิเตอร์ (คีย์ค่า) สำหรับการเริ่มต้นอ็อบเจ็กต์ |
ไม่อนุญาตให้มีองค์ประกอบที่ซ้ำกัน | ไม่อนุญาตให้มีคีย์ที่ซ้ำกัน แต่คุณสามารถจัดเก็บค่าที่ซ้ำกันได้ |
อนุญาตให้มีค่า null เพียงค่าเดียว | อนุญาตให้มีคีย์ null คีย์เดียวและค่า null จำนวนเท่าใดก็ได้ |
HashSet ใช้ add ()วิธีการเพิ่มหรือจัดเก็บข้อมูล | HashMap ใช้เมธอด put () ในการจัดเก็บข้อมูล |
ตอนนี้คุณมีความแตกต่างที่ชัดเจนระหว่าง HashMap และ HashSet ตอนนี้เรามาเน้นที่ HashSet อีกครั้งและเจาะลึกลงไป ในส่วนถัดไปของบทความนี้ฉันจะแนะนำคุณเกี่ยวกับลำดับชั้นที่สมบูรณ์ของ HashSet ใน Java
java แตกออกจากวิธีการ
HashSet Hierarchy ใน Java
ดังที่คุณเห็นจากแผนภาพด้านล่างนี้คลาส HashSet ใช้อินเทอร์เฟซ Set อินเทอร์เฟซ Set สืบทอดอินเทอร์เฟซ Collection ต่อไปซึ่งในที่สุดจะขยายอินเทอร์เฟซที่ทำซ้ำได้ตามลำดับชั้น
ตอนนี้ก้าวไปข้างหน้าด้วยบทความ HashSet ใน Java เรามาดูบทความต่างๆ ช่างก่อสร้าง ได้รับการสนับสนุนโดยคลาสนี้
ตัวสร้างของ java.util.HashSet Class
ผู้สร้าง | คำอธิบาย |
แฮชเซ็ต () | นี่คือตัวสร้างเริ่มต้นของคลาส HashSet |
HashSet (ความจุ int) | ตัวสร้างนี้ใช้เพื่อเริ่มต้นความจุเริ่มต้นของชุดแฮช ความจุสามารถเติบโตได้อย่างไม่หยุดนิ่งด้วยการเพิ่มองค์ประกอบใหม่ ๆ |
HashSet (ความจุ int, float loadCapacity) | ตัวสร้างนี้ใช้เพื่อเริ่มต้นความจุเริ่มต้นของชุดแฮชพร้อมกับความจุโหลด |
HashSet (คอลเลกชัน c) | ตัวสร้างนี้ใช้เพื่อเริ่มต้นแฮชตั้งค่าโดยใช้องค์ประกอบจากคอลเลกชัน c |
นี่คือตัวสร้างสี่ตัวของคลาส HashSet ใน . มาดูกันว่ามีอะไรบ้าง กำหนดไว้ใน Java HashSet
วิธีการของ java.util.HashSet Class
วิธี | คำอธิบาย |
เพิ่มบูลีน (Object obj) | วิธีนี้ช่วยในการเพิ่มองค์ประกอบที่ระบุลงใน HashSet เฉพาะในกรณีที่ไม่มีอยู่ |
เป็นโมฆะชัดเจน () | วิธีนี้ช่วยในการลบองค์ประกอบทั้งหมดออกจาก HashSet |
โคลนวัตถุ () | วิธีนี้ส่งคืนสำเนาตื้นของอินสแตนซ์ HashSet แทนที่จะเป็นโคลนขององค์ประกอบ HashSet |
บูลีนประกอบด้วย (Object o) | วิธีนี้จะคืนค่าจริงหากองค์ประกอบที่ส่งผ่านมีอยู่ภายใน HashSet |
บูลีน isEmpty () | วิธีนี้จะคืนค่าจริงในกรณีที่ HashSet ว่างเปล่า |
Iterator ตัววนซ้ำ () | วิธีนี้ส่งคืนตัววนซ้ำบนองค์ประกอบที่มีอยู่ใน HashSet |
บูลีนลบ (Object o) | วิธีนี้ช่วยในการลบองค์ประกอบที่ระบุออกจาก HashSet หากมีอยู่ |
ขนาด int () | วิธีนี้ส่งคืนจำนวนองค์ประกอบทั้งหมดที่มีอยู่ใน HashSet |
นอกเหนือจากวิธีการที่ระบุไว้ข้างต้นคลาส HashSet ใน Java ยังมีไฟล์ จากซุปเปอร์คลาส
ตอนนี้เรามาลองใช้วิธีการเหล่านี้และทำให้เท้าเปียกด้วยการเขียนโค้ด
การติดตั้ง HashSet ในโปรแกรม Java
ในตัวอย่างด้านล่างเราจะลองใช้วิธีการต่างๆที่จัดเตรียมโดยคลาส HashSet
import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// การสร้าง HashSet Set eduCourses = new HashSet () // การเพิ่มองค์ประกอบใหม่ให้กับ HashSet eduCourses.add ('ข้อมูลขนาดใหญ่') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // การเพิ่มองค์ประกอบที่ซ้ำกันจะถูกละเว้น eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // ตรวจสอบว่า HashSet มีองค์ประกอบเฉพาะหรือไม่ String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' อยู่ในรายการหลักสูตร ')} else {System.out.println (myCourse +' ไม่อยู่ในรายการหลักสูตร ')} // การจัดเรียง eduCourses โดยใช้ List List list = ArrayList ใหม่ (eduCourses) Collections.sort (list) // การพิมพ์องค์ประกอบที่เรียงลำดับของ HashSet System.out.println (' การพิมพ์หลักสูตรตามลำดับโดยใช้ List: '+ list) // การลบรายการออกจาก HashSet โดยใช้ remove () eduCourses.remove (' Python ') // วนซ้ำรายการ HashSet System.out.println (' การทำซ้ำรายการหลักสูตรหลังจากลบ Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // การสร้างวัตถุอื่นของ HashSet HashSet eduNewCourses = HashSet ใหม่ () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // การลบองค์ประกอบใหม่ทั้งหมดจาก HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('หลังจากเรียกใช้ removeAll () หลักสูตรวิธีการที่เหลือ: '+ eduCourses) // การลบองค์ประกอบตามเงื่อนไขที่ระบุ eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' หลังจากเรียกใช้วิธี removeIf (): ' eduCourses) // การลบองค์ประกอบออกจาก eduCourses ซึ่งระบุไว้ใน eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet after' + 'retainAll () การดำเนินการ: '+ eduNewCourses) // การลบองค์ประกอบทั้งหมดที่มีอยู่ในชุด eduCourses.clear () System.out.println (' หลังจากเรียกใช้ clear () method: '+ eduCourses)}}
เมื่อคุณรันโค้ดด้านบนจะให้ผลลัพธ์ที่แสดงด้านล่าง
วัตถุที่ไม่เปลี่ยนรูปใน java คืออะไร
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความนี้ หวังว่าฉันจะสามารถรักษาแนวความคิดที่ชัดเจนและชัดเจน คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ โดยผ่านไฟล์ .
ตอนนี้คุณเข้าใจแล้วว่า HashSet ใน Java คืออะไรลองดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ“ HashSet in Java” และเราจะติดต่อกลับโดยเร็วที่สุด