Transformed Collections তৈরি করা

Java Technologies - অ্যাপাচি কমন্স কালেকশনস (Apache Common Collection) Lazy এবং Transformed Collections |
121
121

Apache Commons Collections লাইব্রেরি ডেটা ম্যানিপুলেশনকে সহজ এবং শক্তিশালী করার জন্য নানা ধরনের ক্লাস এবং ফিচার সরবরাহ করে। এর মধ্যে একটি শক্তিশালী ফিচার হল Transformed Collections, যা আপনাকে একটি কালেকশনের উপাদানগুলির উপর কাস্টম ট্রান্সফরমেশন (যেমন মান পরিবর্তন) প্রয়োগ করার সুযোগ দেয়। আপনি এই ফিচারটি ব্যবহার করে একটি কালেকশনের প্রতিটি উপাদানকে একটি নির্দিষ্ট ফাংশন বা লজিকের মাধ্যমে ট্রান্সফর্ম করতে পারেন।

এটি ডেটা স্ট্রাকচারগুলির মধ্যে পরিবর্তন বা ট্রান্সফরমেশন করার জন্য অত্যন্ত উপকারী, যেমন যদি আপনি একটি List এর সব উপাদানকে uppercase এ রূপান্তর করতে চান, বা একটি Map এর মানগুলিকে কোনো নির্দিষ্ট ফর্ম্যাটে সাজাতে চান।

এই টিউটোরিয়ালে, আমরা দেখব কিভাবে Transformed Collections তৈরি করতে হয় এবং Transformer ফিচার ব্যবহার করে কাস্টম ট্রান্সফরমেশন প্রয়োগ করতে হয়।


১. Transformed Collection কী?

Transformed Collections হল একটি বিশেষ ধরনের কালেকশন যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট Transformer ক্লাস ব্যবহার করে ট্রান্সফর্ম বা রূপান্তরিত হয়। Transformer হল একটি ফাংশনাল ফিচার যা একটি ইনপুট (যেমন একটি মান বা অবজেক্ট) গ্রহণ করে এবং তাকে একটি নতুন আউটপুট মানে রূপান্তরিত করে।

আপনি Transformed Collections তৈরি করতে Transformer ক্লাসের ইমপ্লিমেন্টেশন ব্যবহার করতে পারেন। এতে আপনি আপনার ডেটার উপর কাস্টম ট্রান্সফরমেশন প্রয়োগ করতে পারেন, যেমন:

  • স্ট্রিংয়ের উপর কনভার্সন (যেমন ক্যাপিটালাইজেশন)
  • নম্বরের উপর গণনা বা পরিমাপ
  • অন্যান্য যেকোনো কাস্টম লজিক প্রয়োগ

২. Transformer ক্লাস ব্যবহার

Transformer হল একটি Apache Commons Collections ক্লাস যা একটি ইনপুট মান (যেমন একটি অবজেক্ট) গ্রহণ করে এবং সেটিকে অন্য একটি আউটপুট মানে রূপান্তরিত করে। আপনি আপনার কাস্টম ট্রান্সফরমেশন ফাংশন তৈরি করতে Transformer ইন্টারফেস ইমপ্লিমেন্ট করতে পারেন।

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

import org.apache.commons.collections4.Transformer;

public class TransformerExample {
    public static void main(String[] args) {
        // Create a transformer to convert string to uppercase
        Transformer<String, String> toUpperCaseTransformer = new Transformer<String, String>() {
            @Override
            public String transform(String input) {
                return input.toUpperCase();  // Convert string to uppercase
            }
        };
        
        // Use the transformer
        String result = toUpperCaseTransformer.transform("hello world");
        System.out.println(result);  // Output: "HELLO WORLD"
    }
}

এখানে:

  • আমরা একটি কাস্টম Transformer তৈরি করেছি যা স্ট্রিংকে uppercase এ রূপান্তর করে।

৩. Transformed Collection তৈরি করা

এখন আমরা দেখব কিভাবে Transformed Collections তৈরি করতে হয়। Transformed Collection তৈরি করতে আমরা CollectionUtils অথবা ListUtils ক্লাস ব্যবহার করতে পারি, যা আপনার কালেকশন আইটেমগুলির উপর Transformer প্রয়োগ করবে এবং একটি নতুন কালেকশন রিটার্ন করবে।

উদাহরণ: List তে Transformer প্রয়োগ

import org.apache.commons.collections4.Transformer;
import org.apache.commons.collections4.ListUtils;
import java.util.List;
import java.util.ArrayList;

public class TransformedCollectionExample {
    public static void main(String[] args) {
        // Create a list of strings
        List<String> originalList = new ArrayList<>();
        originalList.add("apple");
        originalList.add("banana");
        originalList.add("cherry");
        
        // Create a transformer to convert strings to uppercase
        Transformer<String, String> toUpperCaseTransformer = new Transformer<String, String>() {
            @Override
            public String transform(String input) {
                return input.toUpperCase();  // Convert string to uppercase
            }
        };
        
        // Apply transformer to the list
        List<String> transformedList = ListUtils.transform(originalList, toUpperCaseTransformer);
        
        // Print the transformed list
        System.out.println("Transformed List: " + transformedList);
    }
}

এখানে:

  • একটি List তৈরি করা হয়েছে।
  • একটি Transformer ব্যবহার করে স্ট্রিংগুলোকে uppercase এ রূপান্তরিত করা হয়েছে।
  • ListUtils.transform() মেথড ব্যবহার করে মূল লিস্টের উপাদানগুলির উপর ট্রান্সফরমেশন প্রয়োগ করা হয়েছে।

আউটপুট:

Transformed List: [APPLE, BANANA, CHERRY]

৪. Map তে Transformer প্রয়োগ

আপনি Map এর মানগুলির উপরও Transformer প্রয়োগ করতে পারেন। উদাহরণস্বরূপ, যদি আপনার একটি Map<String, Integer> থাকে এবং আপনি মানগুলিকে দ্বিগুণ করতে চান, তবে আপনি নিম্নলিখিতভাবে কাজ করতে পারেন।

উদাহরণ: Map তে Transformer প্রয়োগ

import org.apache.commons.collections4.Transformer;
import org.apache.commons.collections4.MapUtils;
import java.util.Map;
import java.util.HashMap;

public class MapTransformedExample {
    public static void main(String[] args) {
        // Create a map of strings to integers
        Map<String, Integer> originalMap = new HashMap<>();
        originalMap.put("apple", 1);
        originalMap.put("banana", 2);
        originalMap.put("cherry", 3);
        
        // Create a transformer to double the integer values
        Transformer<Integer, Integer> doubleValueTransformer = new Transformer<Integer, Integer>() {
            @Override
            public Integer transform(Integer input) {
                return input * 2;  // Double the value
            }
        };
        
        // Apply transformer to the map values
        Map<String, Integer> transformedMap = MapUtils.transformValues(originalMap, doubleValueTransformer);
        
        // Print the transformed map
        System.out.println("Transformed Map: " + transformedMap);
    }
}

এখানে:

  • একটি Map<String, Integer> তৈরি করা হয়েছে।
  • MapUtils.transformValues() মেথড ব্যবহার করে Map এর মানগুলিতে Transformer প্রয়োগ করা হয়েছে যা মানগুলোকে দ্বিগুণ করে।

আউটপুট:

Transformed Map: {apple=2, banana=4, cherry=6}

৫. Transformed Collections এর সুবিধা

  • ডেটা ম্যানিপুলেশন: আপনি সহজেই ডেটার মানে ট্রান্সফরমেশন করতে পারেন, যেমন ফর্ম্যাট পরিবর্তন, গণনা ইত্যাদি।
  • টাইপ সেফটি: Generics ব্যবহারের মাধ্যমে আপনি টাইপ সেফ Transformed Collections তৈরি করতে পারেন, যা কম্পাইল টাইমে ত্রুটি চিহ্নিত করতে সহায়তা করে।
  • পুনঃব্যবহারযোগ্যতা: Transformer ক্লাসগুলি পুনঃব্যবহারযোগ্য, এবং একাধিক জায়গায় একই ফাংশন প্রয়োগ করতে সক্ষম।
  • সহজ ব্যবহার: ListUtils, MapUtils, CollectionUtils এর মতো ইউটিলিটি ক্লাসগুলি ব্যবহারের মাধ্যমে কোড লেখা সহজ এবং সংক্ষিপ্ত হয়।

সারাংশ

Transformed Collections একটি শক্তিশালী ফিচার যা Apache Commons Collections লাইব্রেরি সরবরাহ করে। এটি আপনাকে একটি কালেকশনের প্রতিটি উপাদানকে একটি নির্দিষ্ট Transformer এর মাধ্যমে ট্রান্সফর্ম করতে সহায়তা করে। আপনি List, Map বা অন্যান্য কালেকশনগুলিতে Transformer প্রয়োগ করে কাস্টম ট্রান্সফরমেশন করতে পারেন। এটি ডেটা ম্যানিপুলেশন এবং ফাংশনাল প্রোগ্রামিংয়ের জন্য একটি অত্যন্ত কার্যকরী টুল।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion