جاوا مجموعه ای از مثال



جاوه مجموعه جاوا تنظیم

رابط جاوا مجموعه مجموعه ای غیر منظم از عناصر است که فاقد هرگونه عنصر تکراری است. Set Interface ویژگی های مجموعه ریاضی را در جاوا فراهم می کند. در این آموزش ، ما به نمونه های مختلف مجموعه جاوا از روش های مجموعه جاوا و کاربرد آنها خواهیم پرداخت.

ویژگی های رابط تنظیم

  • این شامل عناصر منحصر به فردی است که به معنای اجازه تکرار مقادیر تکراری نیست
  • جاوا ست هیچ نظمی در ذخیره عناصر ندارد
  • هیچ شاخصی ندارد و بنابراین نمی توانیم به موقعیتی به عناصر دسترسی پیدا کنیم.
  • از آنجا که یک رابط است ، می توانیم آن را با استفاده از هر یک از کلاس های پیاده سازی Set پیاده سازی کنیم
  • رابط مجموعه را گسترش می دهد

تفاوت بین Java Set و Java List

  • Java Set مجموعه ای غیر منظم از عناصر است در حالی که فهرست مجموعه ای منظم از عناصر است.
  • Set دسترسی مبتنی بر فهرست ندارد اما فهرست دارای نمایه ای است که می توانیم با آن به عناصر دسترسی پیدا کنیم.
  • در Set ، ما نمی توانیم مقادیر تکراری را اضافه کنیم در حالی که List اجازه اضافه کردن مقادیر تکراری را می دهد.

پیاده سازی را تنظیم کنید

پس از جاوا ست یک رابط است، ما نمی توانیم مستقیماً یک شی create ایجاد کنیم. بنابراین ما باید یکی از کلاس هایی مانند HashSet ، TreeSet ، LinkedHashSet یا EnumSet را پیاده سازی کنیم. هر کلاس مجموعه ای به شکل دیگری رفتار می کند که در زیر بحث شده است:

  • HashSet - ترتیب و ترتیب عناصر هنگام مرور در مجموعه وجود ندارد.
  • TreeSet - این ترتیب عناصر را همراه با مرتب سازی حفظ می کند
  • LinkedHashSet - این ترتیب عناصر را همانند درج کردن حفظ می کند

جاوا را تنظیم کنید

جاوا مجموعه ای از مثال

برای پیاده سازی رابط تنظیم شده ، باید java.util را وارد کنیم. بسته های دیگر کلاس جداگانه را وارد می کنیم.

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {

  public static void main(String[] args) {
    Set set1 = new HashSet();
    Set set2 = new TreeSet();
    Set set3 = new LinkedHashSet();

  }

}

ما همچنین می توانیم مجموعه های عمومی را مانند تصویر زیر ایجاد کنیم. در اینجا ما HashSet را به عنوان نوع String و TreeSet را به عنوان یک نوع Integer تعیین کرده ایم. از این رو این اشیا values ​​فقط مقادیر این نوع خاص را می پذیرند.

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {

  public static void main(String[] args) {
    Set<String> setstring = new HashSet<String>();
    Set<Integer> setint = new TreeSet<Integer>();
  }
}

روش های مجموعه جاوا

مجموعه شامل تمام روشهای رابط مجموعه همراه با روشهای زیر است.

روشتوضیحات:پارامتر
افزودن بولی (رشته e)اگر عنصری از قبل وجود نداشته باشد ، به مجموعه اضافه می کند. اگر عنصر از قبل در مجموعه وجود داشته باشد ، نادرست برمی گردد و تماس را نادیده می گیردe - عنصری که باید به مجموعه اضافه شود
Boolean addAll (Collectionc)در صورت عدم ارائه ، تمام عناصر موجود در مجموعه را به مجموعه اضافه می کندج - مجموعه عناصر اضافه شده
باطل پاک ()همه عناصر را از مجموعه حذف می کند و مجموعه خالی خواهد بود
boolean حاوی (شی o o)بررسی می کند آیا مجموعه حاوی عنصر است یا خیر و در صورت وجود true برمی گرددo - عنصری که باید در مجموعه جستجو شود
بولی شامل همه (مجموعه c)بررسی می کند که مجموعه زیر مجموعه ای باشد یا خیر و در صورت وجود درست برمی گرددج - مجموعه عناصر
بولی برابر است (شی o)برابری مجموعه با شی object عبور شده را بررسی می کند. اگر هر دو مجموعه باشند و شامل عناصر و اندازه یکسانی باشند ، درست برمی گرددo - شیئی که باید مقایسه شود
boolean isEmpty ()خالی بودن مجموعه را بررسی می کند و اگر خالی باشد ، درست برمی گردد
تکرار کننده تکرار ()تکرار کننده را برای حرکت در میان عناصر موجود در مجموعه برمی گرداند
حذف بولی (شی o)عنصر خاص را از مجموعه حذف کرده و در صورت حذف عنصر true برمی گرددo - عنصری که باید حذف شود
boolean removeAll (مجموعه c)در صورت وجود تمام عناصر موجود در مجموعه را از مجموعه خارج می کندج - مجموعه عناصری که باید حذف شوند
حفظ بولی همه (مجموعه c)فقط عناصر موجود در مجموعه را حفظ می کند به این معنی که همه عناصر دیگری را که در مجموعه نیستند حذف می کندج - مجموعه ای از عناصر برای حفظ
اندازه داخلی ()تعداد عناصر موجود در مجموعه را برمی گرداند
SplitIterator splititerator ()تکرار تقسیم بر روی عناصر موجود در مجموعه ایجاد می کند
شی [[] toArray ()همه عناصر موجود در مجموعه را به آرایه تبدیل می کند
رشته toString ()نمایش رشته ای از شی را برمی گرداند

موارد استثنا را تنظیم کنید

جاوا پرتاب می کند موارد استثنایی زیر

  • UnsupportedOperationException
  • NullPointerException
  • ClassCastException
  • استثناء غیرقانونی

عناصر را از یک مجموعه اضافه و حذف کنید

در مثال زیر ، ابتدا یک HashSet ایجاد کرده و 2 عنصر اضافه می کنیم. سپس HashSet دیگری ایجاد کرده و 2 عنصر دیگر اضافه می کنیم. سپس این به عنوان مجموعه ای به مجموعه اول اضافه می شود.

در حذف مثال ، ابتدا یک عنصر را از مجموعه 1 حذف می کنیم و سپس همه عناصر را از مجموعه دوم حذف می کنیم.

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {

  public static void main(String[] args) {

    Set<String> setstring = new HashSet<String>();
    setstring.add("Java");
    setstring.add("Javascript");
    System.out.println(setstring);
    
    Set<String> string2 = new HashSet<String>();
    string2.add("C");
    string2.add("C++");
    
    setstring.addAll(string2);
    System.out.println("Elements in set after addAll operation");
    System.out.println(setstring);
    
    setstring.remove("Javascript");
    System.out.println("Elements in the set after remove opertaion");
    System.out.println(setstring);
    
    setstring.removeAll(string2);
    System.out.println("Elements in the set after removeAll opertaion");
    System.out.println(setstring);
    
  }
  

}
Output:
[Java, Javascript]
Elements in set after addAll operation
[Java, C++, C, Javascript]
Elements in the set after remove opertaion
[Java, C++, C]
Elements in the set after removeAll opertaion
[Java]

مرتب سازی عناصر با استفاده از TreeSet

در اینجا ، ما یک آرایه از اعداد صحیح را اعلام کرده و سپس با استفاده از حلقه ، عناصر را به HashSet اضافه کرده ایم. در خروجی مشاهده می کنید که عنصر تکراری "12" شامل ویژگی تنظیم شده نیست. می توانیم عناصر HashSet را با استفاده از TreeSet مرتب کنیم همانطور که در مثال زیر مشاهده می شود.

import java.util.*;

public class SetSort {

  public static void main(String[] args) {
    Set<Integer> numbers = new HashSet<Integer>();
    int[] a = {34,78,12,67,45,23,12,89};
    for(int i=0;i<a.length;i++) {
      numbers.add(a[i]);
    }
    System.out.println("Elements in HashSet");
    System.out.println(numbers);
    
    Set<Integer> treeset = new TreeSet<Integer>(numbers);
    System.out.println("Elements in treeset after sort");
    System.out.println(treeset);
  }

}
Output:
Elements in HashSet
[34, 67, 23, 89, 12, 45, 78]
Elements in treeset after sort
[12, 23, 34, 45, 67, 78, 89]

جاوا مجموعه را به آرایه تبدیل کنید

ما می توانیم مجموعه را به یک تبدیل کنیم صف عناصر با استفاده از روش toArray به شرح زیر است.

import java.util.*;

public class SetArray {

  public static void main(String[] args) {
    Set<String> names = new HashSet<String>();
    names.add("Roshan");
    names.add("Kiran");
    names.add("Tejas");
    names.add("Karthik");
    
    String[] strnames = names.toArray(new String[names.size()]);
    for(String strvalues: strnames) {
      System.out.println(strvalues);
    }

  }

}
Output:
Roshan
Kiran
Tejas
Karthik

مثال برنامه جاوا از تنظیمات (اتحادیه ، تقاطع و تفاوت)

در این مثال ، ما 2 مجموعه عدد صحیح ایجاد کرده ایم. برای انجام یک اتحاد از 2 مجموعه ، ما از روش addAll استفاده می کنیم که تمام عناصر منحصر به فرد را از هر دو مجموعه اضافه می کند. برای تقاطع ، ما از روش retainAll استفاده می کنیم تا فقط عناصر مشترک بین مجموعه ها را حفظ کنیم. برای یافتن تفاوت بین 2 مجموعه ، از روش removeAll استفاده می کنیم که تمام عناصر موجود در مجموعه 2 را به همراه عناصر مشترک در مجموعه 1 حذف می کند.

import java.util.*;

public class SetOperations {

  public static void main(String[] args) {
    Set<Integer> set1 = new HashSet<Integer>();
    set1.add(3);
    set1.add(7);
    set1.add(5);
    set1.add(1);
    System.out.println("Set 1 : " + set1);
    
    Set<Integer> set2 = new HashSet<Integer>();
    set2.add(3);
    set2.add(4);
    set2.add(9);
    set2.add(5);
    
    System.out.println("Set 2 : " + set2);
    
    Set<Integer> a = new HashSet<Integer>(set1);
    a.addAll(set2);
    
    System.out.println("Union of Set 1 and Set 2 : " + a);
    
    Set<Integer> b = new HashSet<Integer>(set1);
    b.retainAll(set2);
    System.out.println("Intersection of Set 1 and Set 2 : " + b);
    
    Set<Integer> c = new HashSet<Integer>(set1);
    c.removeAll(set2);
    System.out.println("Difference between Set 1 and Set 2 : " + c);
  }

}
Output:
Set 1 : [1, 3, 5, 7]
Set 2 : [3, 4, 5, 9]
Union of Set 1 and Set 2 : [1, 3, 4, 5, 7, 9]
Intersection of set 1 and set 2 : [3, 5]
Difference between 2 sets : [1, 7]

نتیجه

در این آموزش ، شما با Set در Java و نحوه ایجاد و استفاده از set برای دستکاری های مختلف آشنا شده اید.

ارجاع