Primitive এবং Object Data Types এর সমন্বয়ে Tuple তৈরি করা

Java তে Tuples ব্যবহার - জাভা টাপল (Java Tuples) - Java Technologies

373

জাভাতে Tuple একটি ডেটা স্ট্রাকচার, যা একাধিক ডেটা আইটেম (প্রিমিটিভ এবং অবজেক্ট) একত্রে প্যাক করার জন্য ব্যবহৃত হয়। এটি সাধারণত জাভার মতো ভাষায় সরাসরি সমর্থিত নয়, তবে বিভিন্ন লাইব্রেরি বা কাস্টম ক্লাস ব্যবহার করে টাপল তৈরি করা যায়।


Tuple এর ব্যবহার

  • Multiple Return Values: একাধিক মান রিটার্ন করতে।
  • Temporary Data Storage: বিভিন্ন ধরনের ডেটা সংরক্ষণ করতে।
  • Collections এর বিকল্প: একটি ছোট ডেটা গ্রুপ তৈরি করতে।

Java টাপল তৈরি করার পদ্ধতি

১. Apache Commons Lang লাইব্রেরি ব্যবহার করে

Apache Commons Lang লাইব্রেরি Pair এবং Triple এর মতো ক্লাস সরবরাহ করে, যা টাপল হিসাবে ব্যবহার করা যেতে পারে।

Dependency যোগ করুন

Maven এর মাধ্যমে commons-lang3 লাইব্রেরি যোগ করুন:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>
কোড উদাহরণ
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;

public class TupleExample {
    public static void main(String[] args) {
        // Pair Example
        Pair<Integer, String> pair = Pair.of(1, "John Doe");
        System.out.println("ID: " + pair.getLeft());
        System.out.println("Name: " + pair.getRight());

        // Triple Example
        Triple<Integer, String, Boolean> triple = Triple.of(2, "Jane Doe", true);
        System.out.println("ID: " + triple.getLeft());
        System.out.println("Name: " + triple.getMiddle());
        System.out.println("Active: " + triple.getRight());
    }
}

২. JavaFX এর Pair ব্যবহার করে

JavaFX এর javafx.util.Pair ক্লাসও টাপল তৈরি করতে ব্যবহৃত হতে পারে।

কোড উদাহরণ
import javafx.util.Pair;

public class TupleWithJavaFX {
    public static void main(String[] args) {
        Pair<Integer, String> pair = new Pair<>(1001, "Alice");
        System.out.println("ID: " + pair.getKey());
        System.out.println("Name: " + pair.getValue());
    }
}

৩. Vavr লাইব্রেরি ব্যবহার করে

Vavr লাইব্রেরি আরও শক্তিশালী টাপল সাপোর্ট প্রদান করে।

Dependency যোগ করুন
<dependency>
    <groupId>io.vavr</groupId>
    <artifactId>vavr</artifactId>
    <version>0.10.4</version>
</dependency>
কোড উদাহরণ
import io.vavr.Tuple;
import io.vavr.Tuple2;
import io.vavr.Tuple3;

public class VavrTupleExample {
    public static void main(String[] args) {
        // Tuple2 Example
        Tuple2<Integer, String> tuple2 = Tuple.of(1, "Bob");
        System.out.println("ID: " + tuple2._1);
        System.out.println("Name: " + tuple2._2);

        // Tuple3 Example
        Tuple3<Integer, String, Double> tuple3 = Tuple.of(2, "Alice", 75.5);
        System.out.println("ID: " + tuple3._1);
        System.out.println("Name: " + tuple3._2);
        System.out.println("Score: " + tuple3._3);
    }
}

৪. কাস্টম টাপল ক্লাস তৈরি করা

জাভাতে একটি কাস্টম টাপল ক্লাস তৈরি করা সম্ভব।

কোড উদাহরণ
class Tuple2<T1, T2> {
    private final T1 first;
    private final T2 second;

    public Tuple2(T1 first, T2 second) {
        this.first = first;
        this.second = second;
    }

    public T1 getFirst() {
        return first;
    }

    public T2 getSecond() {
        return second;
    }
}

public class CustomTupleExample {
    public static void main(String[] args) {
        Tuple2<Integer, String> tuple = new Tuple2<>(1, "Charlie");
        System.out.println("ID: " + tuple.getFirst());
        System.out.println("Name: " + tuple.getSecond());
    }
}

Primitive এবং Object Data Types এর সমন্বয়ে Tuple উদাহরণ

১. প্রিমিটিভ এবং অবজেক্ট সমন্বয়ে Pair

import javafx.util.Pair;

public class PrimitiveObjectTuple {
    public static void main(String[] args) {
        Pair<Integer, String> pair = new Pair<>(101, "John Doe");
        System.out.println("ID (Primitive): " + pair.getKey());
        System.out.println("Name (Object): " + pair.getValue());
    }
}

২. প্রিমিটিভ এবং অবজেক্ট সমন্বয়ে Vavr টাপল

import io.vavr.Tuple;
import io.vavr.Tuple3;

public class PrimitiveObjectVavrTuple {
    public static void main(String[] args) {
        Tuple3<Integer, String, Double> tuple = Tuple.of(1, "Jane", 95.5);
        System.out.println("ID (Primitive): " + tuple._1);
        System.out.println("Name (Object): " + tuple._2);
        System.out.println("Score (Primitive): " + tuple._3);
    }
}

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

সুবিধা

  1. একাধিক ডেটা টাইপ সহজে একত্রে সংরক্ষণ।
  2. API রিটার্ন ভ্যালুতে একাধিক মান পাঠানোর সুবিধা।
  3. ব্যবহারযোগ্য লাইব্রেরি সমর্থন (যেমন Apache Commons, Vavr)।

সীমাবদ্ধতা

  1. স্ট্রাকচার না থাকায় বড় টাপল পড়া কঠিন।
  2. জাভাতে সরাসরি টাপল সমর্থন নেই।

জাভায় টাপল প্রিমিটিভ এবং অবজেক্ট ডেটা টাইপ একত্রে সংরক্ষণ এবং পরিচালনা করতে একটি কার্যকর সমাধান। লাইব্রেরি সমর্থন বা কাস্টম ক্লাস ব্যবহার করে সহজে এবং কার্যকরভাবে টাপল তৈরি করা যায়। আপনি যদি আরও জটিল ডেটা মডেল প্রয়োজন করেন, তবে Tuple একটি চমৎকার বিকল্প।

Content added By
Promotion

Are you sure to start over?

Loading...