Set এবং Map এর সাথে কাজ করা

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

250

Spring Expression Language (SpEL) একটি শক্তিশালী এবং নমনীয় ভাষা যা Spring Framework-এর মধ্যে বিভিন্ন এক্সপ্রেশন অপারেশন পরিচালনা করতে ব্যবহৃত হয়। SpEL শুধুমাত্র গাণিতিক বা লজিক্যাল অপারেশনেই সীমাবদ্ধ নয়, এটি কনটেইনারে স্টোর করা Set এবং Map এর সাথে কাজ করতেও সক্ষম।

এই টিউটোরিয়ালে আমরা দেখবো কীভাবে SpEL-এর মাধ্যমে Set এবং Map ডেটা কাঠামোর সাথে কাজ করা যায়।


SpEL এবং Set

Set হল একটি সংগ্রহ (Collection) ডেটা কাঠামো যা অর্ডারবিহীন এবং ইউনিক আইটেম ধারণ করে। SpEL ব্যবহার করে Set-এর মধ্যে সদস্য অ্যাক্সেস এবং পরিচালনা করা যায়।

Set এর সাথে SpEL ব্যবহার

SpEL এর মাধ্যমে আপনি Set-এর মধ্যে সদস্য অ্যাক্সেস করতে, সদস্য যোগ করতে এবং সেটের মান পরিবর্তন করতে পারেন। নিচে একটি উদাহরণ দেখানো হয়েছে।

উদাহরণ ১: Set তৈরি এবং সদস্য অ্যাক্সেস

import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

import java.util.HashSet;
import java.util.Set;

public class SpELSetExample {
    public static void main(String[] args) {
        // SpEL expression parser তৈরি
        ExpressionParser parser = new SpelExpressionParser();
        StandardEvaluationContext context = new StandardEvaluationContext();

        // Set তৈরি এবং SpEL কনটেক্সটে সেট করা
        Set<String> mySet = new HashSet<>();
        mySet.add("Apple");
        mySet.add("Banana");
        mySet.add("Orange");
        context.setVariable("mySet", mySet);

        // Set থেকে সদস্য অ্যাক্সেস
        Set<String> result = parser.parseExpression("#mySet").getValue(context, Set.class);
        
        // ফলাফল প্রদর্শন
        System.out.println("Set elements: " + result);  // ["Apple", "Banana", "Orange"]
    }
}

এখানে mySet একটি Set যা SpEL কনটেক্সটে সেট করা হয়েছে এবং সেটের সমস্ত সদস্য #mySet এক্সপ্রেশনের মাধ্যমে অ্যাক্সেস করা হয়েছে।


SpEL এবং Map

Map হল একটি ডেটা কাঠামো যা কী-বেসড ভ্যালু পেয়ার ধারণ করে। SpEL-এর মাধ্যমে Map-এর কীগুলির সাথে ভ্যালু অ্যাক্সেস এবং ম্যানিপুলেট করা যায়।

Map এর সাথে SpEL ব্যবহার

SpEL-এর মাধ্যমে আপনি Map-এর মধ্যে কী-বেসড অ্যাক্সেস, মান পরিবর্তন এবং নতুন কী-ভ্যালু পেয়ার যোগ করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো।

উদাহরণ ২: Map তৈরি এবং কী-ভ্যালু অ্যাক্সেস

import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

import java.util.HashMap;
import java.util.Map;

public class SpELMapExample {
    public static void main(String[] args) {
        // SpEL expression parser তৈরি
        ExpressionParser parser = new SpelExpressionParser();
        StandardEvaluationContext context = new StandardEvaluationContext();

        // Map তৈরি এবং SpEL কনটেক্সটে সেট করা
        Map<String, Integer> myMap = new HashMap<>();
        myMap.put("Apple", 3);
        myMap.put("Banana", 5);
        myMap.put("Orange", 2);
        context.setVariable("myMap", myMap);

        // Map থেকে নির্দিষ্ট কী দিয়ে মান পাওয়া
        Integer result = parser.parseExpression("#myMap['Apple']").getValue(context, Integer.class);
        
        // ফলাফল প্রদর্শন
        System.out.println("Value for Apple: " + result);  // 3
    }
}

এখানে myMap একটি Map যার মধ্যে কীগুলি হল Apple, Banana, এবং Orange, এবং তাদের সাথে যুক্ত মান গুলি রয়েছে। #myMap['Apple'] এক্সপ্রেশনের মাধ্যমে Apple কী এর মান অ্যাক্সেস করা হয়েছে।


SpEL এবং Set/Map-এ ক্রিয়াকলাপ

SpEL এর মাধ্যমে আপনি Set এবং Map-এর ওপর বিভিন্ন ধরনের ক্রিয়াকলাপ যেমন Add, Remove, Contains ইত্যাদি করতে পারেন।

উদাহরণ ৩: Set এ সদস্য যোগ এবং মুছে ফেলা

Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");

context.setVariable("mySet", mySet);

// Set এ সদস্য যোগ করা
parser.parseExpression("#mySet.add('Orange')").getValue(context);

// Set থেকে সদস্য মুছে ফেলা
parser.parseExpression("#mySet.remove('Banana')").getValue(context);

System.out.println("Updated Set: " + mySet);  // ["Apple", "Orange"]

উদাহরণ ৪: Map এ নতুন কী-ভ্যালু পেয়ার যোগ এবং মান পরিবর্তন

Map<String, Integer> myMap = new HashMap<>();
myMap.put("Apple", 3);
myMap.put("Banana", 5);

context.setVariable("myMap", myMap);

// Map এ নতুন কী-ভ্যালু পেয়ার যোগ করা
parser.parseExpression("#myMap.put('Orange', 2)").getValue(context);

// Map-এর মান পরিবর্তন
parser.parseExpression("#myMap.put('Apple', 10)").getValue(context);

System.out.println("Updated Map: " + myMap);  // {Apple=10, Banana=5, Orange=2}

SpEL এর মাধ্যমে Set এবং Map ব্যবহারের সুবিধা

  1. ডাইনামিক ডেটা অ্যাক্সেস: SpEL ব্যবহার করে Set এবং Map-এর মধ্যে ডেটা পরিবর্তন, অ্যাক্সেস, এবং ম্যানিপুলেশন খুব সহজ হয়। এতে ডেটা প্রক্রিয়াকরণ আরও সহজ এবং দ্রুত হয়।
  2. Flexibility: SpEL আপনাকে এক্সপ্রেশনগুলি রানটাইমে পরিবর্তন করতে এবং কনটেক্সটের উপর ভিত্তি করে ডেটা অ্যাক্সেস করতে সাহায্য করে।
  3. Spring Integration: SpEL সহজে Spring Beans, Spring Security এবং অন্যান্য Spring প্রযুক্তির সাথে ইন্টিগ্রেট করা যায়।

উপসংহার

SpEL ব্যবহার করে আপনি Set এবং Map এর মতো জটিল ডেটা কাঠামোর সাথে সহজে কাজ করতে পারেন। Set-এর সদস্য অ্যাক্সেস করা, Map-এর কী-ভ্যালু পেয়ার ব্যবহার করা, এবং ডেটা ম্যানিপুলেশন করা SpEL এর মাধ্যমে খুবই সহজ হয়ে ওঠে। এটি Spring Framework-এর মধ্যে ডাইনামিক এক্সপ্রেশন এবং ডেটা ম্যানিপুলেশন করার জন্য একটি অত্যন্ত শক্তিশালী সরঞ্জাম।

Content added By
Promotion

Are you sure to start over?

Loading...