Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การทำงานภายในของ Set/HashSet ใน Java


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

HashMap ประกอบด้วยคู่คีย์และค่าที่ไม่ซ้ำกัน โดยจะแทรกคู่คีย์และค่าโดยใช้ฟังก์ชัน 'put' เมื่อเรียกใช้ฟังก์ชัน 'put' ค่าก่อนหน้าที่เกี่ยวข้องกับคีย์หรือค่า null จะถูกส่งกลับขึ้นอยู่กับว่ามีการแมปสำหรับคีย์หรือไม่

LinkedHashSet ขยายไปยังคลาส HashSet ซึ่งหมายความว่า LinkedHashSet เรียกตัวสร้างของคลาส HashSet โดยใช้ฟังก์ชัน 'super'

ตัวอย่าง

import java.util.HashSet;
public class Demo{
   public static void main(String args[]){
      HashSet my_hashset = new HashSet();
      boolean my_b1 = my_hashset.add("only");
      boolean my_b2 = my_hashset.add("sample");
      boolean my_b3 = my_hashset.add("sample");
      System.out.println("The value of first boolean is " + my_b1);
      System.out.println("The value of second boolean is = "+my_b2);
      System.out.println("The value of third boolean is = "+my_b3);
      System.out.println(my_hashset);
   }
}

ผลลัพธ์

The value of first boolean is true
The value of second boolean is = true
The value of third boolean is = false
[only, sample]

คลาสชื่อ Demo มีฟังก์ชันหลักที่อินสแตนซ์ของ HashSet ถูกกำหนดไว้ องค์ประกอบจะถูกเพิ่มเข้าไปในชุดแฮชเซ็ตโดยใช้ฟังก์ชัน 'เพิ่ม' จากนั้นองค์ประกอบเหล่านี้จะปรากฏบนหน้าจอ