উদাহরণ সহ Collections ম্যানিপুলেশন

Arrays এবং Collections - স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজ (Spring Expression Language) - Java Technologies

215

Spring Expression Language (SpEL) হল একটি শক্তিশালী ভাষা যা Spring ফ্রেমওয়ার্কের মধ্যে এক্সপ্রেশন ম্যানিপুলেশন করতে ব্যবহৃত হয়। SpEL ব্যবহার করে Collections (যেমন: List, Set, Map) ম্যানিপুলেট করা সম্ভব। SpEL এর মাধ্যমে আপনি সহজে Collection থেকে ডেটা বের করতে, ফিল্টার করতে, বা অন্যান্য অপারেশন যেমন যোগ, মুছে ফেলা ইত্যাদি করতে পারেন।

SpEL-এ Collection ম্যানিপুলেশন করতে বিভিন্ন ধরনের অপারেটর এবং ফিচার রয়েছে, যেমন ফিল্টারিং, মেম্বার অ্যাক্সেস, অ্যাকশন (যেমন অ্যাড করা), মেথড কল ইত্যাদি।


Collections ম্যানিপুলেশন এর প্রধান অপারেশন

1. List বা Set থেকে উপাদান অ্যাক্সেস

SpEL দিয়ে List বা Set থেকে নির্দিষ্ট উপাদান অ্যাক্সেস করা যায়। উদাহরণস্বরূপ, list[0] দিয়ে প্রথম উপাদান অ্যাক্সেস করা।

উদাহরণ: List থেকে উপাদান অ্যাক্সেস

@Value("#{myList[0]}")
private String firstElement;

ব্যাখ্যা:
এখানে myList[0] SpEL এক্সপ্রেশনটি myList নামক লিস্টের প্রথম উপাদানটিকে অ্যাক্সেস করবে।

2. List বা Set এ আইটেম যোগ করা

SpEL এর মাধ্যমে Collection এ নতুন আইটেমও যোগ করা যায়।

@Value("#{myList.add('New Item')}")
private boolean itemAdded;

ব্যাখ্যা:
এখানে myList.add('New Item') SpEL এক্সপ্রেশনটি myList লিস্টে একটি নতুন উপাদান যোগ করবে।

3. Collection এর উপর ফিল্টারিং

SpEL দিয়ে Collection-এর উপর ফিল্টারিং বা শর্তাধীন অপারেশন করা যায়। উদাহরণস্বরূপ, লিস্ট থেকে এমন উপাদান বের করা যেগুলোর কিছু নির্দিষ্ট শর্ত পূর্ণ হয়।

@Value("#{myList.?[length() > 5]}")
private List<String> filteredList;

ব্যাখ্যা:
এখানে myList.?[length() > 5] SpEL এক্সপ্রেশনটি এমন সমস্ত আইটেম বের করবে যেগুলোর দৈর্ঘ্য 5 এর বেশি।

4. Map এর Key-Value অ্যাক্সেস

SpEL এর মাধ্যমে Map-এর Key এবং Value এক্সেস করা যায়।

@Value("#{myMap['key1']}")
private String mapValue;

ব্যাখ্যা:
এখানে myMap['key1'] SpEL এক্সপ্রেশনটি myMap নামক ম্যাপে key1 এর মানকে অ্যাক্সেস করবে।

5. Map এ Key-Value যোগ করা

@Value("#{myMap.put('key3', 'value3')}")
private boolean isAddedToMap;

ব্যাখ্যা:
এখানে myMap.put('key3', 'value3') SpEL এক্সপ্রেশনটি myMap ম্যাপে key3 এবং value3 যোগ করবে।

6. Collection এর উপর লজিক্যাল অপারেশন এবং মেথড কল

SpEL দিয়ে Collection এ কিছু শর্তাধীন অপারেশন, যেমন any, all, select, reject ইত্যাদি ব্যবহার করা যায়।

@Value("#{myList.?[startsWith('S')].size()}")
private int sizeOfFilteredList;

ব্যাখ্যা:
এখানে myList.?[startsWith('S')] SpEL এক্সপ্রেশনটি myList লিস্ট থেকে এমন উপাদানগুলো ফিল্টার করবে যেগুলোর নাম 'S' দিয়ে শুরু হয়, এবং তারপর তাদের সংখ্যা বের করবে।


Spring Bean-এ Collections ম্যানিপুলেশন উদাহরণ

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.Set;

@Component
public class CollectionManipulationExample {

    @Value("#{myList}")
    private List<String> myList;

    @Value("#{mySet}")
    private Set<String> mySet;

    @Value("#{myMap}")
    private Map<String, String> myMap;

    public void manipulateCollections() {
        // List থেকে প্রথম উপাদান অ্যাক্সেস
        System.out.println("First Element in List: " + myList.get(0));

        // List-এ নতুন আইটেম যোগ করা
        myList.add("New Item");
        System.out.println("Updated List: " + myList);

        // Set-এ নতুন আইটেম যোগ করা
        mySet.add("New Set Item");
        System.out.println("Updated Set: " + mySet);

        // Map-এ Key-Value যোগ করা
        myMap.put("key3", "value3");
        System.out.println("Updated Map: " + myMap);

        // List থেকে দৈর্ঘ্য 5 এর বেশি এমন আইটেম ফিল্টার করা
        List<String> filteredList = myList.stream().filter(item -> item.length() > 5).toList();
        System.out.println("Filtered List: " + filteredList);
    }
}

Spring Configuration Example

<bean id="myList" class="java.util.ArrayList">
    <constructor-arg>
        <list>
            <value>Spring</value>
            <value>SpEL</value>
            <value>Collection</value>
        </list>
    </constructor-arg>
</bean>

<bean id="mySet" class="java.util.HashSet">
    <constructor-arg>
        <set>
            <value>Apple</value>
            <value>Banana</value>
        </set>
    </constructor-arg>
</bean>

<bean id="myMap" class="java.util.HashMap">
    <constructor-arg>
        <map>
            <entry key="key1" value="value1"/>
            <entry key="key2" value="value2"/>
        </map>
    </constructor-arg>
</bean>

SpEL-এ Collections ম্যানিপুলেশনের সুবিধা

ফিচারবর্ণনা
ডায়নামিক ভ্যালু অ্যাক্সেসSpEL দ্বারা Collection থেকে নির্দিষ্ট উপাদান ডায়নামিকভাবে অ্যাক্সেস করা সম্ভব।
ফিল্টারিংSpEL ব্যবহার করে Collection থেকে শর্তপূর্ণ উপাদান ফিল্টার করা সম্ভব।
অ্যাড, রিমুভ অপারেশনCollection এ নতুন উপাদান যোগ করা বা মুছে ফেলা SpEL দিয়ে করা যায়।
ফ্লেক্সিবিলিটিSpring Beans বা XML কনফিগারেশন ফাইলের মধ্যে SpEL ব্যবহার করা যায়।

Spring Expression Language (SpEL) ব্যবহার করে Collection ম্যানিপুলেশন অত্যন্ত সহজ এবং কার্যকরী। SpEL এর মাধ্যমে লিস্ট, সেট বা ম্যাপে ডেটা ফিল্টার, অ্যাড, রিমুভ বা ম্যানিপুলেট করা সম্ভব, যা Spring অ্যাপ্লিকেশনে ডাইনামিকভাবে কনফিগারেশন বা ডেটা প্রসেসিংয়ের জন্য গুরুত্বপূর্ণ।

Content added By
Promotion

Are you sure to start over?

Loading...