Tuples এর সাধারণ ব্যবহার

Java Tuples এর পরিচিতি - জাভা টাপল (Java Tuples) - Java Technologies

361

Tuple হলো একটি ডেটা স্ট্রাকচার, যা বিভিন্ন ধরনের এবং বিভিন্ন সংখ্যার মান (values) একসঙ্গে প্যাকেজ করতে ব্যবহৃত হয়। এটি immutable এবং fixed-size কন্টেইনার, যা সাধারণত ডাটা একসাথে গোষ্ঠীভুক্ত করতে কাজে লাগে। যদিও Java 8 বা তার আগ পর্যন্ত বিল্ট-ইন Tuple সাপোর্ট ছিল না, তৃতীয় পক্ষের লাইব্রেরি (যেমন Apache Commons Lang, Vavr, বা JOOλ) ব্যবহার করে Tuples জাভাতে ব্যবহার করা যায়।


Tuple এর ব্যবহারযোগ্যতা

  1. একাধিক মান রিটার্ন করার জন্য।
  2. ভিন্ন ভিন্ন ধরনের ডেটা গোষ্ঠীভুক্ত করতে।
  3. ডেটা পাস করার সময় সিম্পল কন্টেইনার হিসেবে।

Java Tuples এর উদাহরণ

১. Tuple ব্যবহার করার জন্য Third-Party Library: Apache Commons Lang

Apache Commons Lang-এর Pair এবং Triple ক্লাস ব্যবহার করা হয় Tuples এর জন্য।

Pair Example:
import org.apache.commons.lang3.tuple.Pair;

public class TupleExample {
    public static void main(String[] args) {
        // একটি Pair তৈরি করুন
        Pair<String, Integer> pair = Pair.of("Alice", 25);

        // মান অ্যাক্সেস করুন
        System.out.println("Name: " + pair.getLeft()); // Alice
        System.out.println("Age: " + pair.getRight()); // 25
    }
}
Triple Example:
import org.apache.commons.lang3.tuple.Triple;

public class TupleExample {
    public static void main(String[] args) {
        // একটি Triple তৈরি করুন
        Triple<String, Integer, String> triple = Triple.of("Alice", 25, "Engineer");

        // মান অ্যাক্সেস করুন
        System.out.println("Name: " + triple.getLeft()); // Alice
        System.out.println("Age: " + triple.getMiddle()); // 25
        System.out.println("Profession: " + triple.getRight()); // Engineer
    }
}

২. Tuple ব্যবহার করার জন্য Vavr Library

Vavr একটি আধুনিক লাইব্রেরি, যা Tuples এর আরও উন্নত ফিচার সরবরাহ করে।

Tuple Example (Vavr):
import io.vavr.Tuple;
import io.vavr.Tuple2;

public class TupleExample {
    public static void main(String[] args) {
        // একটি Tuple2 তৈরি করুন
        Tuple2<String, Integer> tuple = Tuple.of("Alice", 25);

        // মান অ্যাক্সেস করুন
        System.out.println("Name: " + tuple._1); // Alice
        System.out.println("Age: " + tuple._2); // 25

        // মান পরিবর্তন করুন
        Tuple2<String, Integer> updatedTuple = tuple.map1(name -> name + " Johnson");
        System.out.println("Updated Name: " + updatedTuple._1); // Alice Johnson
    }
}
Multi-Value Tuple Example (Vavr):
import io.vavr.Tuple;
import io.vavr.Tuple3;

public class MultiValueTuple {
    public static void main(String[] args) {
        // একটি Tuple3 তৈরি করুন
        Tuple3<String, Integer, String> tuple = Tuple.of("Alice", 25, "Engineer");

        // মান অ্যাক্সেস করুন
        System.out.println("Name: " + tuple._1); // Alice
        System.out.println("Age: " + tuple._2); // 25
        System.out.println("Profession: " + tuple._3); // Engineer
    }
}

৩. Tuple ব্যবহার করার জন্য JOOλ Library

JOOλ (jOOλ) লাইব্রেরি ব্যবহার করে Tuple তৈরি এবং পরিচালনা করা সহজ।

Example with Tuple2:
import org.jooq.lambda.tuple.Tuple2;
import static org.jooq.lambda.tuple.Tuple.tuple;

public class TupleExample {
    public static void main(String[] args) {
        // একটি Tuple2 তৈরি করুন
        Tuple2<String, Integer> tuple = tuple("Alice", 25);

        // মান অ্যাক্সেস করুন
        System.out.println("Name: " + tuple.v1); // Alice
        System.out.println("Age: " + tuple.v2); // 25
    }
}

Tuples এর সাধারণ ব্যবহার

১. একাধিক মান রিটার্ন করা

Tuples একাধিক মান রিটার্ন করার জন্য একটি সহজ উপায়।

import org.apache.commons.lang3.tuple.Pair;

public class MultipleReturnExample {
    public static Pair<Integer, String> getStudentDetails() {
        return Pair.of(101, "Alice");
    }

    public static void main(String[] args) {
        Pair<Integer, String> student = getStudentDetails();
        System.out.println("ID: " + student.getLeft());  // 101
        System.out.println("Name: " + student.getRight()); // Alice
    }
}

২. ডেটা গোষ্ঠীভুক্ত করা

ভিন্ন ধরনের ডেটা গোষ্ঠীভুক্ত করে একটি অবজেক্ট তৈরি করতে।

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

public class GroupedDataExample {
    public static void main(String[] args) {
        Tuple3<String, Integer, String> person = Tuple.of("Bob", 30, "Doctor");
        System.out.println("Name: " + person._1); // Bob
        System.out.println("Age: " + person._2); // 30
        System.out.println("Profession: " + person._3); // Doctor
    }
}

৩. Key-Value Pair হিসেবে ব্যবহৃত

Tuples Key-Value পেয়ারের বিকল্প হিসেবে ব্যবহৃত হতে পারে।

import org.apache.commons.lang3.tuple.Pair;

public class KeyValueExample {
    public static void main(String[] args) {
        Pair<String, Double> product = Pair.of("Laptop", 999.99);
        System.out.println("Product: " + product.getLeft()); // Laptop
        System.out.println("Price: $" + product.getRight()); // 999.99
    }
}

৪. Immutable ডেটা মডেল

Tuples immutable, অর্থাৎ একবার তৈরি করার পর এটি পরিবর্তন করা যায় না। এটি ডেটার নিরাপত্তা নিশ্চিত করে।


Tuples এর সুবিধা

সুবিধাব্যাখ্যা
মাল্টি-ভ্যালু রিটার্নমেথড একাধিক মান রিটার্ন করতে পারে।
ইম্যুটেবল স্ট্রাকচারডেটা নিরাপত্তা নিশ্চিত করে।
ডেটা গোষ্ঠীভুক্ত করা সহজভিন্ন ধরনের ডেটা একত্রিত করে রাখা যায়।
বিল্ট-ইন লাইব্রেরি সমর্থনApache Commons Lang, Vavr, এবং JOOλ এর সমর্থন।

জাভাতে Tuples ব্যবহার একাধিক মান রিটার্ন করা, ডেটা গোষ্ঠীভুক্ত করা এবং কোড সহজ এবং পরিষ্কার রাখতে সাহায্য করে। যদিও জাভায় বিল্ট-ইন Tuples সমর্থন নেই, তবে Apache Commons Lang, Vavr, এবং JOOλ এর মতো তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করে Tuples ব্যবহার করা সহজ এবং কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...