คอลเลกชันชุด คือคอลเลกชันที่ประกอบด้วยชุดขององค์ประกอบประเภทเดียวกันที่ไม่เรียงลำดับและไม่ซ้ำกัน เมื่อจัดเก็บข้อมูล จะต้องกำหนดค่า hashCode ขององค์ประกอบก่อน และหากแตกต่างกันก็จะถูกจัดเก็บ
1) Set collection เป็นคลาสย่อยของ Collection collection
2) คอลเลกชันที่ไม่มีองค์ประกอบที่ซ้ำกัน
3) ไม่มีวิธีการจัดทำดัชนี ดังนั้นจึงไม่สามารถข้ามผ่าน for loop แบบธรรมดาได้
add(Object element) : เพิ่มองค์ประกอบที่ระบุที่ส่วนท้ายของ Set collection
ลบ(องค์ประกอบวัตถุ) : หากมีองค์ประกอบที่ระบุอยู่ในคอลเลกชัน Set ให้ลบองค์ประกอบออกจากคอลเลกชัน Set
clear() : ลบองค์ประกอบทั้งหมดออกจากคอลเลกชัน Set
isEmpty() : ตรวจสอบว่ามีองค์ประกอบในคอลเลกชัน Set หรือไม่ ถ้าไม่คืนค่าจริงก็จะคืนค่าเท็จ
ประกอบด้วย(องค์ประกอบวัตถุ) : กำหนดว่าคอลเลกชัน Set มีองค์ประกอบที่ระบุหรือไม่ จะส่งคืนค่าจริงหากมี และส่งกลับค่าเท็จหากไม่มี
iterator() : ส่งคืนวัตถุตัววนซ้ำ (Iterator) ซึ่งใช้ในการสำรวจคอลเลกชัน
size() : ส่งกลับจำนวนองค์ประกอบในคอลเลกชัน Set และค่าที่ส่งคืนเป็นประเภท int
ตัวอย่างเช่น:
importjava.util.HashSet;importjava.util.Set;publicclassMain{publicstaticvoidmain(String[]args){Setset=newHashSet();Stringb=B;//เพิ่มองค์ประกอบให้กับชุด set.add(A);set.add( b);set.add(C);set.add(b);set.add(D);set.add(b);set.add(E);//พิมพ์จำนวนองค์ประกอบชุด System.out. println (set size=+set.size());//พิมพ์ชุด System.out.println(set);//ลบองค์ประกอบ "B" แรกในชุด set.remove(b);//ตรวจสอบว่า ชุดประกอบด้วยองค์ประกอบ "B" System.out.println (ไม่ว่าจะมี B: +set.contains(b)); // ตรวจสอบว่าชุดว่างเปล่า System.out.println หรือไม่ (ชุดชุดว่างเปล่า : +set.isEmpty( ));//ล้างคอลเลกชัน set.clear();System.out.println(set);}}
ผลการวิ่งมีดังนี้:
ขนาดชุด=5[A,b,C,D,E] มี B: falseset หรือไม่ ชุดว่างเปล่า: false[]
ค่าแฮชคือค่าของคลาส int ที่คำนวณโดย JDK ตามที่อยู่หรือหมายเลขของรายการ u-th มีวิธีรับค่าแฮชในคลาส Object โดยที่ public int hashCode() จะส่งคืนค่าแฮช .
ลักษณะของค่าแฮชของวัตถุมีดังนี้:
1) ค่าแฮชที่ส่งคืนโดยเมธอด hashCode() จะเหมือนกันเมื่อถูกเรียกหลายครั้งบนออบเจ็กต์เดียวกัน
2) ตามค่าเริ่มต้น ค่าแฮชของออบเจ็กต์ที่แตกต่างกันจะแตกต่างกัน แต่คุณสามารถทำให้ค่าแฮชเหมือนกันได้โดยการแทนที่เมธอด hashCode
หมายเหตุ : สตริงที่ต่างกันมีค่าแฮชเหมือนกัน เนื่องจาก String จะแทนที่เมธอด hashCode เช่น "Chongdi" และ "Call" ค่าแฮชจึงเป็น 1179395 ทั้งคู่