CodeGym /وبلاگ جاوا /Random-FA /HashSet شامل متد () در جاوا است
John Squirrels
مرحله
San Francisco

HashSet شامل متد () در جاوا است

در گروه منتشر شد

هش ست چیست؟

HashSet یک نوع داده داخلی در جاوا است و به زبان ساده می توانید بگویید "HashSet مجموعه ای نامرتب از عناصر منحصر به فرد است." به یک مثال اساسی نگاه کنید:HashSet شامل متد () در جاوا - 2 است
شکل 1: تصویری که نمونه های معتبر و نامعتبر از HashSet را نشان می دهد
(قبل از اینکه ادامه دهید، از شما انتظار داریم که در مورد اصطلاحات هش کردن و جداول هش بدانید .) HashSet گسترش می‌یابد ( امتداد به این معنی است که یک کلاس از کلاس دیگری به ارث رسیده است) AbstractSet و رابط Set را پیاده‌سازی می‌کند. در اینجا چند نکته وجود دارد که باید قبل از کار با HashSets در نظر بگیرید:
  • مجموعه ای را ایجاد می کند ( مجموعه به معنای واحد واحدی از اشیاء است به عنوان مثال: ArrayList، LinkedList، Vector و غیره) که از جدول هش برای ذخیره سازی استفاده می کند.
  • مقادیر تکراری در HashSet مجاز نیستند.
  • می‌توانید مقادیر «تهی» را در HashSet وارد کنید.
  • هیچ ترتیب درج حفظ نمی شود. بنابراین اگر به دنبال درج موارد به ترتیب هستید، HashSet انتخاب بدی برای نیازهای شما خواهد بود.
  • اگر می خواهید یک عنصر را در زمان ثابت (O(1)) دریافت/بازیابی کنید ، HashSet یکی از بهترین رویکردهایی است که می توانید اتخاذ کنید.

متد HashSet.contains () چیست؟

HashSet.contains () یک روش بولی برای بررسی اینکه آیا یک آیتم در یک نمونه از HashSet وجود دارد یا خیر است. به بیان ساده، آیا مجموعه شامل عنصر مورد نظر است یا خیر. Java.util.HashSet یک پیاده سازی کارآمد برای آن فراهم می کند. اجازه دهید به شما نشان دهیم که چگونه می توانید به طور مؤثر از آن برای حل سؤالات خود استفاده کنید.

حاوی() با اعداد صحیح است

import java.util.HashSet;

public class HashSetDemo {
   public static void main(String[] args) {

       // Declare your hash set
       HashSet digits = new HashSet();

       digits.add(0);
       digits.add(1);
       digits.add(2);
       digits.add(3);
       digits.add(4);
       digits.add(5);
       digits.add(null);
       System.out.println("All elements in hashset:\t" + digits);

       // Try adding duplicates
       digits.add(5);
       digits.add(2);
       System.out.println("After adding duplicates: \t" + digits);

       System.out.println("\n-------Using Contains Method-------");
       // Check out if the following digits exist in the hashset
       System.out.println("digits.contains(0) : " + digits.contains(0));
       System.out.println("digits.contains(2) : " + digits.contains(2));
       System.out.println("digits.contains(3) : " + digits.contains(7));
       System.out.println("digits.contains(null) : " + digits.contains(null));
   }
}
خروجی
همه عناصر در هش ست: [0، تهی، 1، 2، 3، 4، 5] پس از افزودن موارد تکراری: [0، null، 1، 2، 3، 4، 5] -------استفاده از روش حاوی ------ digits.contains(0) : true digits.contains(2): true digits.contains(3): digits false.contains(null) : true

حاوی() با رشته ها

به مثال دیگری از متد contain() با Strings نگاهی بیندازید .
import java.util.HashSet;
public class HashSetDemo {
     public static void main(String[] args) {

	  // Try working with another hash set of String type
	  HashSet rainbow = new HashSet();

        // Adding elements into HashSet using add()
        rainbow.add("Red");
        rainbow.add("Orange");
        rainbow.add("Yellow");
        rainbow.add("Green");
        rainbow.add("Blue");
        rainbow.add("Indigo");
        rainbow.add("Violet");


        // Let's traverse the hashset
        System.out.println("Traversing the rainbow:");
        for (String i : rainbow){
             System.out.println(i);
        }
       // Check out if rainbow contains this color or not
    	 System.out.println("\n-------Using Contains Method-------");

        System.out.println("rainbow.contains(\"Yellow\"): \t" + rainbow.contains("Yellow"));
        System.out.println("rainbow.contains(\"White\"): \t"  + rainbow.contains("White"));
        System.out.println("rainbow.contains(\"Lavender\"): \t"  + rainbow.contains("Lavender"));
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        // Remove a color from rainbow using remove()
        rainbow.remove("Red");

        // Now consume  set contains() method again to check if it's still present
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        System.out.println("\nAfter removing Red: " + rainbow);
	}
}
خروجی
عبور از رنگین کمان: قرمز بنفش زرد آبی نیلی نارنجی سبز -------استفاده از روش شامل-------- rainbow.contains("زرد"): real rainbow.contains("White"): fase rainbow. حاوی ("Lavender"): fase rainbow.contains("Red"): true rainbow.contains("قرمز"): false پس از حذف قرمز: [بنفش، زرد، آبی، نیلی، نارنجی، سبز]
همانطور که می بینید ترتیب خروجی با ترتیب قرار دادن عناصر در هش ست متفاوت است.

نتیجه

متد حاوی() برای HashSets روشی بسیار ساده برای استفاده است. با این حال، در صورت هرگونه سردرگمی، همیشه می توانید به این پست مراجعه کنید. کد نویسی مبارک! :)
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION