জাভা সেট উদাহরণ



জাভা জাভা সেট সেট

জাভা সেট ইন্টারফেসটি এমন কোনও উপাদানগুলির একটি অনর্ডারযুক্ত সংগ্রহ যা কোনও সদৃশ উপাদান রাখে না। সেট ইন্টারফেস জাভা গাণিতিক সেট বৈশিষ্ট্য সরবরাহ করে। এই টিউটোরিয়ালে, আমরা জাভা সেট পদ্ধতি এবং তাদের ব্যবহারের বিভিন্ন জাভা সেট উদাহরণগুলি কভার করব।

সেট ইন্টারফেস বৈশিষ্ট্য

  • এটিতে অনন্য উপাদান রয়েছে যার অর্থ এটি সদৃশ মানকে মঞ্জুরি দেয় না
  • উপাদানগুলি সংরক্ষণ করার জন্য জাভা সেটের কোনও অর্ডার নেই
  • এটির কোনও সূচক নেই এবং তাই আমরা অবস্থানের ভিত্তিতে কোনও উপাদান অ্যাক্সেস করতে পারি না।
  • যেহেতু এটি একটি ইন্টারফেস, তাই আমরা সেট প্রয়োগকারী ক্লাসগুলির কোনওটি ব্যবহার করে এটি প্রয়োগ করতে পারি
  • সংগ্রহ ইন্টারফেস প্রসারিত করে

জাভা সেট এবং জাভা তালিকার মধ্যে পার্থক্য

  • জাভা সেট হ'ল উপাদানগুলির একটি অ-রক্ষিত সংগ্রহ তালিকা উপাদানগুলির একটি আদেশযুক্ত সংগ্রহ।
  • সেটে সূচি-ভিত্তিক অ্যাক্সেস নেই তবে তালিকার একটি সূচি রয়েছে যা দিয়ে আমরা উপাদানগুলিতে অ্যাক্সেস করতে পারি।
  • সেটে, আমরা সদৃশ মান যুক্ত করতে পারি না যখন তালিকাটি সদৃশ মানগুলিকে যুক্ত করে।

বাস্তবায়ন সেট করুন

থেকে জাভা সেট একটি ইন্টারফেস, আমরা সরাসরি কোনও বস্তু তৈরি করতে পারি না। সুতরাং আমাদের হ্যাশসেট, ট্রিসেট, লিংকডহ্যাশসেট, বা এনামসেটের মতো ক্লাসগুলির একটি প্রয়োগ করতে হবে। প্রতিটি সেট শ্রেণি নীচে আলোচিত হিসাবে আলাদাভাবে আচরণ করে:

  • হ্যাশসেট - সেটে ট্র্যাভার করার সময় কোনও ক্রমের উপাদান বা ক্রম নেই।
  • ট্রিসেট - এটি বাছাইয়ের পাশাপাশি উপাদানের ক্রম সংরক্ষণ করে
  • লিংকডহ্যাশসেট - এটি সন্নিবেশের মতো উপাদানের ক্রম সংরক্ষণ করে

জাভা সেট করুন

জাভা সেট উদাহরণ

সেট ইন্টারফেসটি প্রয়োগ করতে, আমাদের 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();

  }

}

আমরা নীচের মত জেনেরিক সেট তৈরি করতে পারি। এখানে আমরা হ্যাশসেটকে স্ট্রিং টাইপ হিসাবে এবং ট্রিসেটকে একটি পূর্ণসংখ্যা টাইপ হিসাবে নির্দিষ্ট করেছি। সুতরাং এই বিষয়গুলি কেবল এই নির্দিষ্ট ধরণের মানগুলি গ্রহণ করে।

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>();
  }
}

জাভা সেট পদ্ধতি

সেটটিতে কালেকশন ইন্টারফেসের নীচে উল্লিখিত পদ্ধতিগুলি সহ সমস্ত পদ্ধতি অন্তর্ভুক্ত রয়েছে।

পদ্ধতিবিবরণস্থিতিমাপ
বুলিয়ান অ্যাড (স্ট্রিং ই)এটি ইতিমধ্যে বিদ্যমান না থাকলে সেটটিতে একটি উপাদান যুক্ত করে। যদি সেটটিতে উপাদান ইতিমধ্যে উপস্থিত থাকে এবং কলটিকে উপেক্ষা করে তবে এটি মিথ্যা ফেরত দেয়ই - উপাদানটি সেটে যুক্ত করতে হবে
বুলিয়ান অ্যাডএল (কালেকশন)সংগ্রহের সমস্ত উপাদান সেটটিতে যোগ না করে যদি এটি উপস্থাপন না করেসি - উপাদান যোগ করা হবে
অকার্যকর পরিষ্কার ()সেট থেকে সমস্ত উপাদান সরিয়ে দেয় এবং সেটটি খালি থাকবে
বুলিয়ান থাকে (অবজেক্ট ও)সেটটিতে উপাদান রয়েছে কিনা তা পরীক্ষা করে এবং উপস্থিত থাকলে সত্য উপস্থাপন করেও - উপাদানটি সেটে অনুসন্ধান করতে হবে
বুলিয়ান রয়েছে সমস্ত (সংগ্রহ গ)সংগ্রহটি সেটটির উপসেট কিনা তা পরীক্ষা করে এবং উপস্থিত থাকলে সত্য হয়সি - উপাদান সংগ্রহ
বুলিয়ান সমান (অবজেক্ট ও)পাস করা বস্তুর সাথে সেটটির সমতা পরীক্ষা করে। এটি সত্য হয় যদি উভয়ই সেট থাকে এবং একই উপাদান এবং আকার থাকেo - অবজেক্ট যা তুলনা করা প্রয়োজন
বুলিয়ান ইম্পিটি ()সেটটি খালি কিনা তা যাচাই করে এবং খালি হলে সত্যটি ফিরে আসে
Iterator পুনরুক্তি ()সেটের উপাদানগুলির মধ্য দিয়ে নেভিগেট করতে একটি পুনরাবৃত্তিকে ফেরত দেয়
বুলিয়ান অপসারণ (অবজেক্ট ও)সেট থেকে নির্দিষ্ট উপাদানটিকে সরিয়ে দেয় এবং উপাদানটি সরানো থাকলে সত্যটি ফিরে আসেও - উপাদান সরানো হবে
বুলিয়ান সরান সমস্ত (সংগ্রহ সি)উপস্থিত থাকলে সেট থেকে সংগ্রহের সমস্ত উপাদান সরিয়ে দেয়সি - উপাদানগুলির সংগ্রহ মুছে ফেলা হবে
বুলিয়ান ধরে রাখার সমস্ত (সংগ্রহ গ)সেটে সংগ্রহে থাকা উপাদানগুলিকেই পুনরুদ্ধার করে যার অর্থ এটি সংগ্রহের অংশ নয় এমন অন্যান্য সমস্ত উপাদান সরিয়ে দেয়সি - উপাদান সংগ্রহ বজায় রাখা উচিত
ইনট আকার ()সেটে উপাদানগুলির সংখ্যা প্রদান করে
স্প্লিটআইটরেটর স্প্লিটটাইটার ()সেটের উপাদানগুলির উপর একটি বিভাজন পুনরাবৃত্তি তৈরি করে
অবজেক্ট [] টু অ্যারে ()সেটের সমস্ত উপাদানকে অ্যারেতে রূপান্তর করে
স্ট্রিং টু স্ট্রিং ()বস্তুর একটি স্ট্রিং প্রতিনিধিত্ব প্রদান করে

ব্যতিক্রম সেট করুন

জাভা সেট ছুড়ে নীচে ব্যতিক্রম

  • অসমর্থিত অপারেশন এক্সসেপশন
  • নাল পয়েন্টার ব্যতিক্রম
  • ক্লাসকাস্টএক্সেপশন
  • অবৈধআর্গুমেন্টইসেপশন

একটি সেট থেকে উপাদান যোগ করুন এবং সরান

নীচের উদাহরণে, আমরা প্রথমে একটি হ্যাশসেট তৈরি করি এবং 2 টি উপাদান যুক্ত করি। তারপরে আমরা অন্য একটি হ্যাশসেট তৈরি করি এবং আরও 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]

ট্রিসেট ব্যবহার করে উপাদান বাছাই করা

এখানে, আমরা পূর্ণসংখ্যার অ্যারে ঘোষণা করেছি এবং তারপরে লুপের জন্য হ্যাশসেটে উপাদানগুলি যুক্ত করেছি। আউটপুটে, আপনি দেখতে পাবেন যে সদৃশ উপাদান "12" অন্তর্ভুক্ত নেই যা সেট বৈশিষ্ট্য। আমরা নীচের উদাহরণে দেখা হিসাবে ট্রিশেট ব্যবহার করে হ্যাশসেটের উপাদানগুলি সাজিয়ে তুলতে পারি।

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]

জাভা সেট অ্যারেতে রূপান্তর করুন

আমরা সেটটিকে একটিতে রূপান্তর করতে পারি বিন্যাস নীচে বর্ণিত হিসাবে টু অ্যারে পদ্ধতি ব্যবহার করে উপাদানগুলির of

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 টি সংখ্যার ইউনিয়ন সম্পাদন করতে, আমরা অ্যাডএল পদ্ধতিটি ব্যবহার করি যা উভয় সেট থেকে সমস্ত অনন্য উপাদান যুক্ত করবে। ছেদ করার জন্য, আমরা সেটগুলির মধ্যে কেবল সাধারণ উপাদানগুলি ধরে রাখতে রক্ষণাবেক্ষণের সমস্ত পদ্ধতি ব্যবহার করি। 2 টির মধ্যে পার্থক্যটি সনাক্ত করতে, আমরা মুছে ফেলা সমস্ত পদ্ধতি ব্যবহার করি যা সেট 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]

উপসংহার

এই টিউটোরিয়ালে, আপনি জাভা সেট এবং বিভিন্ন ম্যানিপুলেশনের জন্য সেট কীভাবে তৈরি করবেন এবং কীভাবে ব্যবহার করবেন সে সম্পর্কে শিখেছেন।

উল্লেখ