Skill

বাস্তব উদাহরণ সহ Range Operations

Range এবং Rangeset - গুয়াভা (Guava) - Java Technologies

333

Guava লাইব্রেরি Range ক্লাস সরবরাহ করে, যা একটি রেঞ্জ (অথবা সীমা) তৈরি করতে এবং বিভিন্ন রেঞ্জ অপারেশন করতে সাহায্য করে। এটি একটি শক্তিশালী টুল যা কোনো নির্দিষ্ট সীমার মধ্যে মান চেক করতে, বিভিন্ন সীমার সাথে তুলনা করতে, এবং সেই রেঞ্জের মধ্যে ডেটা বা মান সংরক্ষণ করতে ব্যবহৃত হয়। Guava এর Range ক্লাসটি মূলত Comparable মানের জন্য ব্যবহৃত হয়, যেখানে আপনি একটি নির্দিষ্ট সীমা নির্ধারণ করতে পারেন এবং সেই সীমার মধ্যে কীভাবে অপারেশন করতে হবে তা পরিচালনা করতে পারেন।

Range Operations এর ধারণা

Guava এর Range ক্লাস আপনাকে দুটি ধরনের অপারেশন করতে সাহায্য করে:

  1. Range creation: একটি নির্দিষ্ট সীমা তৈরি করা।
  2. Range operations: রেঞ্জের মধ্যে বিভিন্ন অপারেশন যেমন সদস্যতা পরীক্ষা, রেঞ্জ ম্যানিপুলেশন (জোড়া করা, বিচ্ছিন্ন করা, ইত্যাদি)।

Range ক্লাসের প্রধান মেথড

  • Range.closed(): এটি একটি অন্তর্ভুক্ত রেঞ্জ তৈরি করে (লঘু সীমা এবং উচ্চ সীমা উভয়ই অন্তর্ভুক্ত থাকে)।
  • Range.open(): এটি একটি ওপেন রেঞ্জ তৈরি করে (লঘু সীমা এবং উচ্চ সীমা উভয়ই বাদ পড়ে)।
  • Range.closedOpen(): এটি একটি রেঞ্জ তৈরি করে যা লঘু সীমা অন্তর্ভুক্ত কিন্তু উচ্চ সীমা বাদ পড়ে।
  • Range.openClosed(): এটি একটি রেঞ্জ তৈরি করে যা উচ্চ সীমা অন্তর্ভুক্ত কিন্তু লঘু সীমা বাদ পড়ে।
  • Range.contains(): এটি চেক করে যে একটি নির্দিষ্ট মান রেঞ্জের মধ্যে রয়েছে কিনা।
  • Range.isConnected(): এটি চেক করে যে দুটি রেঞ্জ সংযুক্ত কিনা।

বাস্তব উদাহরণ

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

উদাহরণ:

import com.google.common.collect.Range;

public class RangeExample {
    public static void main(String[] args) {
        // রেঞ্জ তৈরি: 18 থেকে 60 (বয়সের রেঞ্জ)
        Range<Integer> ageRange = Range.closed(18, 60);

        // কিছু বয়স চেক করা
        System.out.println(ageRange.contains(25)); // true, 25 ১৮ থেকে ৬০ এর মধ্যে
        System.out.println(ageRange.contains(17)); // false, ১৭ রেঞ্জের বাইরে
        System.out.println(ageRange.contains(60)); // true, ৬০ রেঞ্জের মধ্যে অন্তর্ভুক্ত

        // রেঞ্জের মধ্যে সংযুক্ত কিনা চেক করা
        Range<Integer> anotherRange = Range.closed(30, 40);
        System.out.println(ageRange.isConnected(anotherRange)); // true, দুইটি রেঞ্জ সংযুক্ত
        System.out.println(ageRange.intersection(anotherRange)); // [30..40], সংযোগিত রেঞ্জ দেখাবে

        // একটি রেঞ্জ তৈরি করা যেখানে উচ্চ সীমা বাদ দেওয়া হয়েছে
        Range<Integer> rangeWithoutUpper = Range.closedOpen(18, 60);
        System.out.println(rangeWithoutUpper.contains(60)); // false, ৬০ এখানে অন্তর্ভুক্ত নয়
    }
}

উদাহরণ ব্যাখ্যা:

  1. Range.closed(18, 60): এটি একটি রেঞ্জ তৈরি করেছে যা ১৮ থেকে ৬০ পর্যন্ত, যেখানে ১৮ এবং ৬০ উভয়ই অন্তর্ভুক্ত।
  2. ageRange.contains(25): এই অপারেশনটি চেক করবে যে ২৫ এই রেঞ্জের মধ্যে রয়েছে কিনা। যেহেতু ২৫ ১৮ থেকে ৬০ এর মধ্যে পড়ে, তাই এটি true রিটার্ন করবে।
  3. ageRange.contains(17): এটি চেক করবে যে ১৭ এই রেঞ্জের মধ্যে রয়েছে কিনা। যেহেতু ১৭ এই রেঞ্জের বাইরে, তাই এটি false রিটার্ন করবে।
  4. ageRange.isConnected(anotherRange): এটি চেক করে যে দুটি রেঞ্জ একে অপরের সাথে সংযুক্ত কিনা। যেহেতু ১৮-৬০ এবং ৩০-৪০ রেঞ্জ একে অপরের সাথে সংযুক্ত, এটি true রিটার্ন করবে।
  5. ageRange.intersection(anotherRange): এটি দুটি রেঞ্জের মধ্যে যে সাধারণ অংশ রয়েছে তা বের করবে। এখানে এটি ৩০ থেকে ৪০ পর্যন্ত রেঞ্জ দেখাবে।
  6. Range.closedOpen(18, 60): এটি একটি রেঞ্জ তৈরি করবে যেখানে ১৮ অন্তর্ভুক্ত কিন্তু ৬০ অন্তর্ভুক্ত নয়। যখন ৬০ চেক করা হবে, তখন এটি false রিটার্ন করবে।

Range Operations এর ব্যবহার

Guava লাইব্রেরির Range ক্লাসটি বিভিন্ন পরিস্থিতিতে ব্যবহার করা যেতে পারে, যেমন:

  • ভ্যালিডেশন: নির্দিষ্ট সীমার মধ্যে মান থাকা উচিত কিনা তা যাচাই করার জন্য।
  • সোর্স এবং টার্গেট রেঞ্জের মধ্যে মান সন্নিবেশ করা: বিশেষ করে যদি দুটি ভিন্ন রেঞ্জের মধ্যে সম্পর্ক পরীক্ষা করতে হয় (যেমন স্টোরেজ কুলিং সিস্টেমের জন্য বা সময়কাল নির্ধারণ করতে)।
  • ডেটা প্রক্রিয়াকরণ: বিভিন্ন ডেটা পয়েন্টের মধ্যে সাধারণ বা সংযুক্ত রেঞ্জ বের করা।

Guava লাইব্রেরির Range ক্লাস ব্যবহার করে রেঞ্জ সম্পর্কিত বিভিন্ন অপারেশন সহজ এবং কার্যকরীভাবে সম্পাদিত হতে পারে। এটি কোডে রেঞ্জ যাচাই, রেঞ্জের মধ্যে ডেটা সংরক্ষণ এবং অন্যান্য কার্যকরী অপারেশন করার জন্য অত্যন্ত উপকারী একটি সরঞ্জাম।


Content added By
Promotion

Are you sure to start over?

Loading...