เรียนรู้ว่า HashSet ใน Java คืออะไรและจะเริ่มต้นใช้งานได้อย่างไร!



บทความเกี่ยวกับ HashSet ใน Java นี้จะให้ภาพรวมที่สมบูรณ์เกี่ยวกับสิ่งที่ HashSet ใน Java และวิธีการนำไปใช้ นอกจากนี้ยังจะพูดถึงวิธีการและตัวสร้างต่างๆที่รองรับโดยคลาส Java HashSet

HashSet ใน Java เป็นหนึ่งในส่วนที่สำคัญที่สุดของ . โดยทั่วไปจะใช้เพื่อจัดเก็บค่าที่ไม่ซ้ำกันในลักษณะที่ไม่เรียงลำดับ ผ่านสื่อของบทความนี้เกี่ยวกับ HashSet ใน Java ฉันจะให้คำแนะนำแบบสมบูรณ์เกี่ยวกับ HashSet คืออะไรและคุณจะใช้มันในแอปพลิเคชันของคุณได้อย่างไร

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





เริ่มต้นด้วยการทำความเข้าใจก่อนว่า HashSet ใน Java คืออะไร

ตัวดำเนินการขอบเขต c ++

HashSet ใน Java



java.util.HashSet ชั้นเรียน เป็นสมาชิกของเฟรมเวิร์กคอลเลกชัน Java ซึ่งสืบทอดคลาส AbstractSet และใช้ชุด อินเตอร์เฟซ . มันใช้แฮชแท็กโดยปริยายสำหรับการสร้างและจัดเก็บคอลเลกชันขององค์ประกอบที่ไม่ซ้ำกัน Hashtable เป็นเพียงตัวอย่างของคลาส HashMap ที่ใช้กลไกการแฮชเพื่อจัดเก็บข้อมูลภายใน HashSet

การแฮชเป็นกระบวนการแปลงเนื้อหาที่ให้ข้อมูลเป็นค่าเฉพาะซึ่งเป็นที่รู้จักกันดีในชื่อแฮชโค้ด จากนั้นแฮชโค้ดนี้จะใช้สำหรับการสร้างดัชนีข้อมูลที่เกี่ยวข้องกับคีย์ กระบวนการทั้งหมดในการเปลี่ยนคีย์ข้อมูลเป็นรหัสแฮชจะดำเนินการภายใน

ตอนนี้เพื่อความเข้าใจที่ดีขึ้นเกี่ยวกับ HashSet ใน Java ให้ฉันระบุคุณสมบัติบางประการ:



  1. HashSet ใน Java ไม่อนุญาตให้มีค่าที่ซ้ำกัน
  2. สามารถมีค่าว่าง
  3. HashSet ไม่เป็นไปตามลำดับการแทรกเพื่อจัดเก็บข้อมูล แต่จะใช้แฮชโค้ดในการสร้างดัชนีค่าภายใน
  4. มันไม่ใช่ ซิงโครไนซ์ ซึ่งจะทำให้เธรดไม่ปลอดภัยโดยอัตโนมัติ
  5. คลาส 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 ต่อไปซึ่งในที่สุดจะขยายอินเทอร์เฟซที่ทำซ้ำได้ตามลำดับชั้น

ลำดับชั้นของ Java HashSet - HashSet ใน Java - Edureka

ตอนนี้ก้าวไปข้างหน้าด้วยบทความ 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” และเราจะติดต่อกลับโดยเร็วที่สุด