Iterables এবং Iterators এর ব্যবহার

Java Technologies - গুয়াভা (Guava) - Guava Collections Utilities
210

Guava লাইব্রেরি Java-তে কোলেকশন ও ডেটা স্ট্রাকচার ম্যানিপুলেশনকে আরও সহজ এবং কার্যকরী করে তোলে। এতে Iterables এবং Iterators ক্লাস রয়েছে, যা কোলেকশন ডেটা নিয়ে কাজ করার ক্ষেত্রে অনেক শক্তিশালী এবং সুবিধাজনক ফিচার প্রদান করে। এই দুইটি ক্লাস ব্যবহার করে কোলেকশন থেকে ডেটা ইটেরেট (iterate) করা সহজ হয় এবং উন্নত কার্যকারিতা পাওয়া যায়।

Iterables ব্যবহার


Guava এর Iterables ক্লাস বিভিন্ন কোলেকশন অপারেশন সহজ করে তোলে। এটি Java এর স্ট্যান্ডার্ড Iterable ইন্টারফেসের ওপর ভিত্তি করে তৈরি, তবে এতে কিছু অতিরিক্ত ফিচার রয়েছে যা আপনাকে কোলেকশন ম্যানিপুলেশন করতে সাহায্য করে।

Iterables-এর প্রধান সুবিধাসমূহ

  1. নির্দিষ্ট শর্তে আইটেম নির্বাচন করা: আপনি Iterables.filter() ব্যবহার করে একটি কোলেকশন থেকে নির্দিষ্ট শর্তে মিলে এমন আইটেম বাছাই করতে পারেন।
  2. আইটেমগুলিকে একত্রিত করা: Iterables.concat() ব্যবহার করে একাধিক কোলেকশনকে একত্রিত করা সম্ভব।
  3. আইটেমের সর্বাধিক বা ন্যূনতম মান বের করা: Iterables.getLast() ব্যবহার করে শেষ আইটেম এবং Iterables.getOnlyElement() ব্যবহার করে কেবল একমাত্র আইটেম বের করা যায়।

উদাহরণ

import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;

import java.util.List;

public class IterablesExample {
    public static void main(String[] args) {
        List<String> list = Lists.newArrayList("Apple", "Banana", "Cherry");

        // filter() ব্যবহার করে একটি শর্ত অনুযায়ী ফিল্টার করা
        Iterable<String> filtered = Iterables.filter(list, fruit -> fruit.startsWith("A"));
        for (String fruit : filtered) {
            System.out.println(fruit); // Output: Apple
        }

        // concat() ব্যবহার করে কোলেকশন একত্রিত করা
        List<String> list2 = Lists.newArrayList("Date", "Elderberry");
        Iterable<String> concatenated = Iterables.concat(list, list2);
        for (String fruit : concatenated) {
            System.out.println(fruit);
        }
        // Output: Apple, Banana, Cherry, Date, Elderberry
    }
}

Iterators ব্যবহার


Guava এর Iterators ক্লাস বিভিন্ন ধরনের উন্নত ইটেরেটর (iterator) অপারেশন প্রদান করে। এটি জাভার স্ট্যান্ডার্ড Iterator ক্লাসের উপর ভিত্তি করে কাজ করে, কিন্তু এতে কিছু অতিরিক্ত ফিচার রয়েছে যা সহজে ডেটা ম্যানিপুলেশন করতে সহায়তা করে।

Iterators-এর প্রধান সুবিধাসমূহ

  1. Iterators.peekingIterator(): এটি একটি ইটেরেটর প্রদান করে যা পরবর্তী উপাদানটি দেখতে দেয়, কিন্তু সেটি ভোক করা (consume) করে না।
  2. Iterators.transform(): একটি নির্দিষ্ট ফাংশন প্রয়োগ করে কোলেকশন থেকে উপাদান পরিবর্তন করা যায়।
  3. Iterators.getOnlyElement(): একটি কোলেকশন থেকে একমাত্র উপাদানটি নিয়ে আসার জন্য এটি ব্যবহার করা যায়।

উদাহরণ

import com.google.common.collect.Iterators;
import com.google.common.base.Function;
import com.google.common.collect.Lists;

import java.util.Iterator;
import java.util.List;

public class IteratorsExample {
    public static void main(String[] args) {
        List<String> list = Lists.newArrayList("Apple", "Banana", "Cherry");

        // PeekingIterator ব্যবহার করা
        Iterator<String> iterator = Iterators.peekingIterator(list.iterator());
        while (iterator.hasNext()) {
            String fruit = iterator.next();
            System.out.println(fruit);
            if (iterator.hasNext()) {
                System.out.println("Next fruit: " + iterator.peek());
            }
        }
        // Output: Apple, Next fruit: Banana, Banana, Next fruit: Cherry, Cherry

        // transform() ব্যবহার করে কোলেকশনের উপাদান পরিবর্তন করা
        Iterator<String> transformedIterator = Iterators.transform(list.iterator(), new Function<String, String>() {
            @Override
            public String apply(String input) {
                return input.toUpperCase();
            }
        });

        while (transformedIterator.hasNext()) {
            System.out.println(transformedIterator.next()); // Output: APPLE, BANANA, CHERRY
        }
    }
}

Iterables এবং Iterators এর তুলনা


  • Iterables: এটি মূলত কোলেকশনগুলোর উপর কাজ করে এবং আপনি এর সাথে বিভিন্ন শর্তে ফিল্টারিং, আইটেম যুক্ত করা, কোলেকশন একত্রিত করা ইত্যাদি কাজ করতে পারেন।
  • Iterators: এটি আইটেম একে একে পাওয়ার জন্য ব্যবহৃত হয় এবং এর মাধ্যমে আপনি কোলেকশন থেকে একটির পর একটি আইটেম নিয়ে কাজ করতে পারেন। Guava এর Iterators ক্লাসে কিছু অতিরিক্ত সুবিধা রয়েছে, যেমন PeekingIterator এবং transform()

Guava এর Iterables এবং Iterators ক্লাসগুলো Java ডেভেলপমেন্টে কোলেকশন ডেটার ওপর কার্যকরভাবে কাজ করার জন্য শক্তিশালী টুলস। এগুলি ব্যবহারের মাধ্যমে আপনি আরও সহজভাবে কোলেকশন ম্যানিপুলেশন করতে পারবেন, বিশেষ করে যখন আপনার কোলেকশন থেকে ডেটা ইটেরেট বা পরিবর্তন করা প্রয়োজন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...