Quartet, Quintet, এবং Sextet ব্যবহার করে Multiple Values হ্যান্ডল করা

Tuple Class এবং এর প্রকারভেদ - জাভা টাপল (Java Tuples) - Java Technologies

336

জাভায় সরাসরি Quartet, Quintet, এবং Sextet সমর্থন নেই। তবে, Javatuples নামে একটি জনপ্রিয় থার্ড-পার্টি লাইব্রেরি ব্যবহারের মাধ্যমে এগুলো হ্যান্ডল করা সম্ভব। এটি একাধিক ভ্যালু ম্যানেজ করার জন্য Tuple ক্লাস প্রদান করে, যা 1 থেকে 10 ভ্যালু ধারণ করতে সক্ষম।


Javatuples লাইব্রেরি সেটআপ

Maven Dependency:

<dependency>
    <groupId>org.javatuples</groupId>
    <artifactId>javatuples</artifactId>
    <version>1.2</version>
</dependency>

Quartet, Quintet, এবং Sextet এর ব্যবহার

১. Quartet (4 Values)

Quartet চারটি ভ্যালু ধারণ করতে পারে।

কোড উদাহরণ:

import org.javatuples.Quartet;

public class QuartetExample {
    public static void main(String[] args) {
        // Quartet তৈরি
        Quartet<String, Integer, Double, Boolean> studentData = 
                new Quartet<>("Alice", 22, 3.75, true);

        // মান অ্যাক্সেস
        System.out.println("Name: " + studentData.getValue0());
        System.out.println("Age: " + studentData.getValue1());
        System.out.println("GPA: " + studentData.getValue2());
        System.out.println("Graduated: " + studentData.getValue3());

        // নতুন Quartet তৈরি
        Quartet<String, Integer, Double, Boolean> updatedData = 
                studentData.setAt1(23); // Updated Age
        System.out.println("Updated Age: " + updatedData.getValue1());
    }
}

আউটপুট:

Name: Alice
Age: 22
GPA: 3.75
Graduated: true
Updated Age: 23

২. Quintet (5 Values)

Quintet পাঁচটি ভ্যালু ধারণ করতে পারে।

কোড উদাহরণ:

import org.javatuples.Quintet;

public class QuintetExample {
    public static void main(String[] args) {
        // Quintet তৈরি
        Quintet<String, Integer, String, Boolean, Double> employeeData = 
                new Quintet<>("John", 35, "Developer", true, 85000.50);

        // মান অ্যাক্সেস
        System.out.println("Name: " + employeeData.getValue0());
        System.out.println("Age: " + employeeData.getValue1());
        System.out.println("Role: " + employeeData.getValue2());
        System.out.println("Active: " + employeeData.getValue3());
        System.out.println("Salary: $" + employeeData.getValue4());
    }
}

আউটপুট:

Name: John
Age: 35
Role: Developer
Active: true
Salary: $85000.5

৩. Sextet (6 Values)

Sextet ছয়টি ভ্যালু ধারণ করতে পারে।

কোড উদাহরণ:

import org.javatuples.Sextet;

public class SextetExample {
    public static void main(String[] args) {
        // Sextet তৈরি
        Sextet<String, String, Integer, Double, Boolean, String> productData = 
                new Sextet<>("Laptop", "Electronics", 5, 1200.99, true, "In Stock");

        // মান অ্যাক্সেস
        System.out.println("Product: " + productData.getValue0());
        System.out.println("Category: " + productData.getValue1());
        System.out.println("Quantity: " + productData.getValue2());
        System.out.println("Price: $" + productData.getValue3());
        System.out.println("Available: " + productData.getValue4());
        System.out.println("Status: " + productData.getValue5());
    }
}

আউটপুট:

Product: Laptop
Category: Electronics
Quantity: 5
Price: $1200.99
Available: true
Status: In Stock

Javatuples এর ফিচারসমূহ

  1. Immutable: Tuples একবার তৈরি হলে পরিবর্তনযোগ্য নয়।
  2. Heterogeneous Data Types: বিভিন্ন ধরনের ডেটা একত্রে রাখতে পারে।
  3. Set এবং Get মেথড: নতুন ভ্যালু সেট করতে এবং বিদ্যমান ভ্যালু পড়তে।
  4. Conversion: Tuples সহজেই List বা Array-তে রূপান্তর করা যায়।

উদাহরণ: Tuple থেকে List এ রূপান্তর

import org.javatuples.Quartet;
import java.util.List;

public class TupleToListExample {
    public static void main(String[] args) {
        Quartet<String, Integer, Boolean, Double> data = 
                new Quartet<>("Alice", 25, true, 99.5);

        List<Object> dataList = data.toList();
        System.out.println(dataList);
    }
}

আউটপুট:

[Alice, 25, true, 99.5]

Tuples এর Practical Use Cases

  1. Multiple Return Values: একটি মেথড থেকে একাধিক ভ্যালু রিটার্ন করতে।

    public static Quintet<String, Integer, String, Boolean, Double> getEmployeeDetails() {
        return new Quintet<>("Alice", 30, "Manager", true, 75000.0);
    }
    
  2. Data Aggregation: একাধিক ভিন্ন ডেটা একত্রিত করতে।
  3. API Response Handling: একটি API কলের মাধ্যমে একাধিক ডেটা একত্রে ম্যানেজ করতে।
  4. Event Handling: ইভেন্টের ডেটা (timestamp, user, action, status) সংরক্ষণ করতে।

Javatuples এর সুবিধা এবং সীমাবদ্ধতা

সুবিধা:

  1. Tuples তৈরির জন্য সহজ এবং সরল।
  2. Immutable হওয়ার কারণে থ্রেড-সেফ।
  3. Heterogeneous ডেটা ম্যানেজ করতে কার্যকর।

সীমাবদ্ধতা:

  1. Tuples নামবিহীন (unnamed), তাই বড় Tuples পড়া বা বুঝতে অসুবিধা হতে পারে।
  2. শুধুমাত্র ছোট ডেটা সেটের জন্য কার্যকর, বড় ডেটার জন্য কাস্টম ক্লাস ব্যবহার করা ভালো।

  • Quartet, Quintet, এবং Sextet ব্যবহার করে জাভাতে একাধিক ভিন্ন ভিন্ন ডেটা টাইপ একত্রে ম্যানেজ করা সহজ।
  • Javatuples একটি শক্তিশালী এবং সহজে ব্যবহারযোগ্য লাইব্রেরি, যা Tuples তৈরির সময় কাজের গতি বাড়ায়।
  • Immutable Tuples এবং Heterogeneous ডেটা ব্যবস্থাপনা করার জন্য এটি একটি আদর্শ সমাধান। তবে বড় Tuples ব্যবহারের ক্ষেত্রে কাস্টম ক্লাস বিবেচনা করা উচিত।
Content added By
Promotion

Are you sure to start over?

Loading...