คู่มือนี้จะอธิบาย HashSet พร้อมกับตัวอย่างที่เป็นไปได้ใน Java
วิธีการใช้ HashSet ใน Java?
หากต้องการใช้ HashSet ใน Java ให้นำเข้าคลาส HashSet ก่อน หลังจากนั้น สร้างวัตถุ HashSet และเพิ่มองค์ประกอบโดยใช้ ' เพิ่ม() ' วิธี. ใช้ฟังก์ชัน remove() เพื่อกำจัดสมาชิกของ HashSet
ผู้ใช้ยังสามารถใช้ hashSet เพื่อคำนวณว่ามีองค์ประกอบอยู่ใน HashSet หรือไม่ สุดท้าย หากต้องการวนซ้ำองค์ประกอบใน HashSet ให้ใช้ for-each วนซ้ำ
ต่อไปนี้เป็นตัวอย่างวิธีใช้ HashSet ใน Java:
ตัวอย่างที่ 1: การลบรายการที่ซ้ำออกจาก ArrayList
กรณีการใช้งานทั่วไปอย่างหนึ่งสำหรับ HashSet คือการลบรายการที่ซ้ำกันออกจากคอลเล็กชัน นี่คือตัวอย่างวิธีใช้ HashSet เพื่อลบรายการที่ซ้ำออกจาก ArrayList:
นำเข้า ชวา ใช้ประโยชน์ . รายการอาร์เรย์ ;
นำเข้า ชวา ใช้ประโยชน์ . ชุดแฮช ;
สาธารณะ ระดับ ลบตัวอย่างที่ซ้ำกัน {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
ArrayList list WithDuplicates = ใหม่ รายการอาร์เรย์ ( ) ;
รายการด้วยรายการที่ซ้ำกัน เพิ่ม ( 'แอปเปิล' ) ;
รายการด้วยรายการที่ซ้ำกัน เพิ่ม ( 'กล้วย' ) ;
รายการด้วยรายการที่ซ้ำกัน เพิ่ม ( 'ส้ม' ) ;
รายการด้วยรายการที่ซ้ำกัน เพิ่ม ( 'แอปเปิล' ) ;
รายการด้วยรายการที่ซ้ำกัน เพิ่ม ( 'ส้ม' ) ;
HashSet ตั้งค่าโดยไม่ต้องทำซ้ำ = ใหม่ ชุดแฮช ( รายการด้วยรายการที่ซ้ำกัน ) ;
รายการ ArrayList โดยไม่ต้องทำซ้ำ = ใหม่ รายการอาร์เรย์ ( setWithDuplicates ) ;
ระบบ. ออก . พิมพ์ ( 'รายการที่มีรายการซ้ำ: ' + รายการด้วยรายการที่ซ้ำกัน ) ;
ระบบ. ออก . พิมพ์ ( 'รายการที่ไม่มีรายการซ้ำ: ' + รายการโดยไม่ต้องทำซ้ำ ) ;
}
}
คำอธิบายของรหัสด้านบนได้รับด้านล่าง:
- ขั้นแรก สร้าง ArrayList ของสตริงที่ซ้ำกัน
- จากนั้นสร้าง HashSet จาก ArrayList เป็นเพราะ HashSet สามารถมีได้เฉพาะองค์ประกอบที่ไม่ซ้ำกัน ซึ่งจะเป็นการลบรายการที่ซ้ำกันได้อย่างมีประสิทธิภาพ
- ในตอนท้าย ให้สร้าง ArrayList ใหม่จาก HashSet เพื่อรับรายการที่ไม่มีรายการซ้ำกัน
เอาต์พุต
ผลลัพธ์แสดงว่าการทำซ้ำถูกลบออกจากรายการแล้ว
ตัวอย่างที่ 2: การหาองค์ประกอบร่วมระหว่างสองเซต
กรณีการใช้งานอื่นสำหรับ HashSet คือการค้นหาองค์ประกอบทั่วไประหว่างสองชุด นี่คือตัวอย่างวิธีใช้ HashSet เพื่อค้นหาองค์ประกอบทั่วไประหว่างสองชุด:
สาธารณะ ระดับ ค้นหาองค์ประกอบทั่วไปตัวอย่าง { // ระบุชื่อคลาส
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
ชุดแฮชเซ็ต1 = ใหม่ ชุดแฮช ( ) ;
ชุดที่ 1 เพิ่ม ( 1 ) ;
ชุดที่ 1 เพิ่ม ( 2 ) ; // เพิ่มค่าที่นี่
ชุดที่ 1 เพิ่ม ( 3 ) ;
แฮชเซ็ต set2 = ใหม่ ชุดแฮช ( ) ;
ชุดที่ 2 เพิ่ม ( 2 ) ;
ชุดที่ 2 เพิ่ม ( 3 ) ; // เพิ่มค่าที่นี่
ชุดที่ 2 เพิ่ม ( 4 ) ;
HashSet CommonElements = ใหม่ ชุดแฮช ( ชุดที่ 1 ) ;
องค์ประกอบทั่วไป เก็บทั้งหมด ( ชุดที่ 2 ) ;
ระบบ. ออก . พิมพ์ ( 'ชุดที่ 1: ' + ชุดที่ 1 ) ;
ระบบ. ออก . พิมพ์ ( 'ชุดที่ 2: ' + ชุดที่ 2 ) ;
ระบบ. ออก . พิมพ์ ( 'องค์ประกอบทั่วไป: ' + องค์ประกอบทั่วไป ) ;
}
}
คำอธิบายได้รับด้านล่าง:
- ขั้นแรก สร้างออบเจ็กต์ HashSet สองรายการและเพิ่มจำนวนเต็มเข้าไป
- จากนั้นสร้างวัตถุ HashSet ใหม่และเพิ่มองค์ประกอบทั้งหมดจาก set1 เข้าไป
- หลังจากนั้น เรียกวิธีการtainAll() บนวัตถุ HashSet ใหม่นี้ โดยส่งผ่าน set2 เป็นอาร์กิวเมนต์
- มันลบองค์ประกอบใด ๆ ออกจาก HashSet ใหม่ที่ไม่อยู่ใน set2 ได้อย่างมีประสิทธิภาพ เหลือเพียงองค์ประกอบทั่วไป
เอาต์พุต
ผลลัพธ์แสดงว่าพบองค์ประกอบทั่วไประหว่างสองชุด
บทสรุป
HashSet เป็นคลาสคอลเลกชันที่มีประสิทธิภาพใน Java ใช้เพื่อจัดเก็บชุดขององค์ประกอบที่ไม่ซ้ำใครโดยไม่เรียงลำดับ มีวิธีการต่างๆ เช่น “ เพิ่ม() ”, “ ลบ() ', และ ' ประกอบด้วย() ” เพื่อเพิ่ม ลบ และตรวจสอบการมีอยู่ขององค์ประกอบใน HashSet มันวนซ้ำองค์ประกอบและเรียบง่ายด้วย for-each ลูป ด้วยการใช้เมธอด hashCode() และ equals() ผู้ใช้ยังสามารถใช้วัตถุที่กำหนดเองใน HashSet
คู่มือนี้ครอบคลุมตัวอย่างที่เป็นไปได้ทั้งหมดในการใช้ HashSet ใน Java