Java তে Tuple Libraries

Java Technologies - জাভা টাপল (Java Tuples)
195
195

Tuple হলো একাধিক ভিন্ন ভিন্ন ডেটা টাইপ একত্রে একটি অবজেক্ট হিসেবে সংরক্ষণের একটি কৌশল। জাভাতে Tuple সরাসরি বিল্ট-ইন সাপোর্ট নেই, তবে বিভিন্ন Tuple Libraries ব্যবহার করে এই কাঠামো ব্যবহার করা যায়।


Tuple এর প্রয়োজনীয়তা

  1. মাল্টি-ভ্যালু রিটার্ন: একটি মেথড থেকে একাধিক ভ্যালু রিটার্ন করতে।
  2. স্ট্রাকচারড ডেটা: স্ট্রাকচার্ড ডেটা স্টোর করার জন্য।
  3. ডাইনামিক ডেটা টাইপ: ভিন্ন ভিন্ন ডেটা টাইপ একত্রে সংরক্ষণ।

Java Tuple Libraries

১. Apache Commons Lang (Pair, Triple)

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

Dependency (Maven):
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>
Example:
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;

public class ApacheCommonsTupleExample {
    public static void main(String[] args) {
        // Pair Example
        Pair<String, Integer> pair = Pair.of("Alice", 30);
        System.out.println("Name: " + pair.getLeft());
        System.out.println("Age: " + pair.getRight());

        // Triple Example
        Triple<String, Integer, String> triple = Triple.of("Bob", 25, "Developer");
        System.out.println("Name: " + triple.getLeft());
        System.out.println("Age: " + triple.getMiddle());
        System.out.println("Profession: " + triple.getRight());
    }
}

২. Vavr (Immutable Tuples)

Vavr একটি জাভা ফাংশনাল প্রোগ্রামিং লাইব্রেরি, যা 1 থেকে 8 পর্যন্ত Tuple সাপোর্ট করে।

Dependency (Maven):
<dependency>
    <groupId>io.vavr</groupId>
    <artifactId>vavr</artifactId>
    <version>0.10.4</version>
</dependency>
Example:
import io.vavr.Tuple;
import io.vavr.Tuple2;
import io.vavr.Tuple3;

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

        // Tuple3 Example
        Tuple3<String, Integer, String> tuple3 = Tuple.of("Bob", 25, "Developer");
        System.out.println("Name: " + tuple3._1);
        System.out.println("Age: " + tuple3._2);
        System.out.println("Profession: " + tuple3._3);
    }
}

৩. Javatuples

Javatuples একটি হালকা লাইব্রেরি, যা 1 থেকে 10 পর্যন্ত Tuple সাপোর্ট করে।

Dependency (Maven):
<dependency>
    <groupId>org.javatuples</groupId>
    <artifactId>javatuples</artifactId>
    <version>1.2</version>
</dependency>
Example:
import org.javatuples.Pair;
import org.javatuples.Triplet;

public class JavatuplesExample {
    public static void main(String[] args) {
        // Pair Example
        Pair<String, Integer> pair = Pair.with("Alice", 30);
        System.out.println("Name: " + pair.getValue0());
        System.out.println("Age: " + pair.getValue1());

        // Triplet Example
        Triplet<String, Integer, String> triplet = Triplet.with("Bob", 25, "Developer");
        System.out.println("Name: " + triplet.getValue0());
        System.out.println("Age: " + triplet.getValue1());
        System.out.println("Profession: " + triplet.getValue2());
    }
}

৪. Guava (Immutable Collections)

Google Guava একটি বহুল ব্যবহৃত লাইব্রেরি, যা Table এবং ImmutableMap ব্যবহার করে Tuple-এর বিকল্প তৈরি করতে পারে।

Dependency (Maven):
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.1-jre</version>
</dependency>
Example:
import com.google.common.collect.ImmutableMap;

public class GuavaTupleExample {
    public static void main(String[] args) {
        ImmutableMap<String, Integer> person = ImmutableMap.of("Alice", 30);
        person.forEach((key, value) -> {
            System.out.println("Name: " + key);
            System.out.println("Age: " + value);
        });
    }
}

Java Tuple Libraries এর তুলনা

লাইব্রেরিসাপোর্ট করা টুপলImmutable?ডিপেনডেন্সিপ্রধান বৈশিষ্ট্য
Apache CommonsPair, TripleNoLightweightসহজ এবং দ্রুত
Vavr1-8 TuplesYesMediumফাংশনাল প্রোগ্রামিং সমর্থন
Javatuples1-10 TuplesYesLightweightসাধারণ এবং ব্যবহার সহজ
GuavaCustomYesMediumImmutable Collections

Tuple ব্যবহার করার Best Practices

  1. কোড পড়তে সহজ রাখতে ছোট টুপল ব্যবহার করুন:
    • ২-৩ উপাদানের বেশি টুপল ব্যবহার করা হলে POJO বা Record ক্লাস তৈরি করুন।
  2. Immutable Tuples ব্যবহার করুন: পরিবর্তনশীলতা কমাতে Immutable লাইব্রেরি (যেমন Vavr বা Javatuples) ব্যবহার করুন।
  3. Dependency Management: প্রয়োজন অনুযায়ী হালকা বা শক্তিশালী লাইব্রেরি নির্বাচন করুন।

Java-তে Tuple-এর জন্য বিল্ট-ইন সাপোর্ট না থাকলেও বিভিন্ন লাইব্রেরি (যেমন Apache Commons, Vavr, Javatuples) ব্যবহার করে কার্যকরভাবে Tuple পরিচালনা করা যায়। Apache Commons হালকা এবং সাধারণ কাজের জন্য উপযুক্ত, যখন Vavr ফাংশনাল প্রোগ্রামিং সমর্থন করে। টুপল ব্যবহারের সময় কোডের সরলতা এবং কার্যকারিতা বজায় রাখুন।

Content added By

Java তে Tuples এর জন্য কোন Built-in সমর্থন নেই

125
125

Java Tuples হলো এমন একটি ডেটা স্ট্রাকচার যা বিভিন্ন ডেটা টাইপের একাধিক মান একত্রে সংরক্ষণ করতে পারে। তবে, Java-তে Tuples এর জন্য কোনো Built-in Support নেই। এই সীমাবদ্ধতাকে কাটিয়ে উঠতে ডেভেলপাররা তৃতীয় পক্ষের লাইব্রেরি বা কাস্টম সমাধান ব্যবহার করে।


Java তে Tuples কেন Built-in নেই?

  1. অবজেক্ট-ওরিয়েন্টেড ডিজাইন: Java-তে Tuples এর পরিবর্তে POJO (Plain Old Java Object) বা Record ব্যবহার উৎসাহিত করা হয়।
  2. নামহীন ডেটা: Tuples-এর মানগুলি সাধারণত নামবিহীন থাকে (_1, _2 ইত্যাদি), যা কোডের রিডেবিলিটি কমায়।
  3. ডেটা টাইপের ক্লারিটি: POJO বা Record ব্যবহার করলে ডেটার টাইপ এবং উদ্দেশ্য স্পষ্ট হয়।

Tuples ব্যবহারের জন্য সমাধান

১. Custom POJO ব্যবহার করা

Tuples-এর পরিবর্তে একটি কাস্টম ক্লাস তৈরি করে স্পষ্ট এবং রিডেবল সমাধান তৈরি করা যায়।

Example:

class Person {
    private final String name;
    private final int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

public class PojoExample {
    public static void main(String[] args) {
        Person person = new Person("Alice", 30);
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
    }
}

২. Record ব্যবহার করা (Java 14+)

Java 14 থেকে Record ব্যবহার করা যায়, যা Tuples-এর জন্য কার্যকর সমাধান।

Example:

public record Person(String name, int age) {}

public class RecordExample {
    public static void main(String[] args) {
        Person person = new Person("Alice", 30);
        System.out.println("Name: " + person.name());
        System.out.println("Age: " + person.age());
    }
}

৩. Third-Party Libraries ব্যবহার করা

তৃতীয় পক্ষের লাইব্রেরি (যেমন Vavr, Apache Commons Lang, Javatuples) ব্যবহার করে Tuples তৈরি করা যায়।

a. Apache Commons Lang

Dependency:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

Example:

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

public class ApacheCommonsExample {
    public static void main(String[] args) {
        Pair<String, Integer> pair = Pair.of("Alice", 30);
        System.out.println("Name: " + pair.getLeft());
        System.out.println("Age: " + pair.getRight());
    }
}
b. Vavr Library

Dependency:

<dependency>
    <groupId>io.vavr</groupId>
    <artifactId>vavr</artifactId>
    <version>0.10.4</version>
</dependency>

Example:

import io.vavr.Tuple;
import io.vavr.Tuple2;

public class VavrExample {
    public static void main(String[] args) {
        Tuple2<String, Integer> tuple = Tuple.of("Alice", 30);
        System.out.println("Name: " + tuple._1);
        System.out.println("Age: " + tuple._2);
    }
}
c. Javatuples Library

Dependency:

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

Example:

import org.javatuples.Pair;

public class JavatuplesExample {
    public static void main(String[] args) {
        Pair<String, Integer> pair = Pair.with("Alice", 30);
        System.out.println("Name: " + pair.getValue0());
        System.out.println("Age: " + pair.getValue1());
    }
}

Tuples vs POJO/Record

বৈশিষ্ট্যTuplesPOJO/Record
রিডেবিলিটি_1, _2 ইত্যাদি নামবিহীন ফিল্ড।ফিল্ড নামের কারণে বেশি রিডেবল।
কোডের সরলতাকম কোডে ব্যবহার করা যায়।কিছুটা বেশি কোড প্রয়োজন।
টাইপ সেফটিসাধারণত ভালো টাইপ সেফটি।পুরোপুরি টাইপ সেফ।
ইন্টেনশন স্পষ্টতাউদ্দেশ্য অস্পষ্ট হতে পারে।উদ্দেশ্য স্পষ্ট।
মডেলিংছোট কাজের জন্য উপযুক্ত।বড় এবং জটিল ডেটা মডেলিংয়ে কার্যকর।

Tuples এর ব্যবহার ক্ষেত্র

  1. মাল্টিপল রিটার্ন ভ্যালু: একটি মেথড থেকে একাধিক মান ফিরিয়ে দিতে।
  2. অস্থায়ী ডেটা গ্রুপিং: একাধিক ডেটা টাইপ সাময়িকভাবে সংরক্ষণ করতে।
  3. ক্লায়েন্ট-সার্ভার কমিউনিকেশন: বিভিন্ন ডেটা টাইপ একত্রে পাঠাতে।

যদিও Java-তে Tuples-এর জন্য Built-in Support নেই, তবুও বিভিন্ন তৃতীয় পক্ষের লাইব্রেরি বা কাস্টম সমাধান ব্যবহার করে Tuples ব্যবহার করা যায়।

  • ছোট কাজের জন্য: Vavr, Apache Commons, বা Javatuples ব্যবহার করুন।
  • বড় এবং জটিল কাজের জন্য: POJO বা Record ব্যবহার করা ভালো।

আপনার প্রয়োজন অনুযায়ী টুল বা কৌশল নির্বাচন করুন।

Content added By

Apache Commons Lang এর Tuple ব্যবহার

139
139

Apache Commons Lang লাইব্রেরি টাপল ব্যবহারের জন্য সরাসরি সমর্থন প্রদান করে। এটি Pair এবং Triple এর মতো ডেটা স্ট্রাকচার সরবরাহ করে, যা একাধিক মানকে একত্রে গ্রুপ করতে সাহায্য করে।


Apache Commons Lang এ Tuple ব্যবহারের জন্য Dependency

Maven প্রকল্পে Apache Commons Lang যুক্ত করতে হলে নিচের ডিপেনডেন্সি ব্যবহার করুন:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

Apache Commons Lang এর Tuple (Pair এবং Triple) উদাহরণ

১. Pair ব্যবহার

Pair দুইটি মান সংরক্ষণ করে এবং সহজে তাদের অ্যাক্সেস করতে দেয়।

কোড উদাহরণ:

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

public class PairExample {
    public static void main(String[] args) {
        // একটি Pair তৈরি
        Pair<String, Integer> student = Pair.of("John", 85);

        // ডেটা অ্যাক্সেস
        String name = student.getLeft();  // বা student.getKey()
        int score = student.getRight();  // বা student.getValue()

        System.out.println("Name: " + name);
        System.out.println("Score: " + score);
    }
}

আউটপুট:

Name: John
Score: 85

২. Triple ব্যবহার

Triple তিনটি মান সংরক্ষণ করে এবং সহজে তাদের অ্যাক্সেস করতে দেয়।

কোড উদাহরণ:

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

public class TripleExample {
    public static void main(String[] args) {
        // একটি Triple তৈরি
        Triple<String, Integer, String> student = Triple.of("Alice", 90, "A");

        // ডেটা অ্যাক্সেস
        String name = student.getLeft();
        int score = student.getMiddle();
        String grade = student.getRight();

        System.out.println("Name: " + name);
        System.out.println("Score: " + score);
        System.out.println("Grade: " + grade);
    }
}

আউটপুট:

Name: Alice
Score: 90
Grade: A

৩. Pair এবং Triple লিস্টে সংরক্ষণ

কোড উদাহরণ:

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

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        // Pair লিস্ট
        List<Pair<String, Integer>> students = new ArrayList<>();
        students.add(Pair.of("John", 85));
        students.add(Pair.of("Alice", 90));

        for (Pair<String, Integer> student : students) {
            System.out.println("Name: " + student.getLeft() + ", Score: " + student.getRight());
        }

        // Triple লিস্ট
        List<Triple<String, Integer, String>> detailedStudents = new ArrayList<>();
        detailedStudents.add(Triple.of("John", 85, "B"));
        detailedStudents.add(Triple.of("Alice", 90, "A"));

        for (Triple<String, Integer, String> student : detailedStudents) {
            System.out.println("Name: " + student.getLeft() + ", Score: " + student.getMiddle() + ", Grade: " + student.getRight());
        }
    }
}

আউটপুট:

Name: John, Score: 85
Name: Alice, Score: 90
Name: John, Score: 85, Grade: B
Name: Alice, Score: 90, Grade: A

Tuple ব্যবহার করার কারণ

  1. একাধিক রিটার্ন ভ্যালু: একটি মেথড থেকে একাধিক মান ফেরত দিতে পারে।

    public static Pair<Integer, Integer> calculate(int a, int b) {
        return Pair.of(a + b, a * b);
    }
    
  2. অস্থায়ী ডেটা স্ট্রাকচার: কমপ্লেক্স ক্লাস তৈরির প্রয়োজন ছাড়াই সম্পর্কিত ডেটা সংরক্ষণ।
  3. টাইপ সেফ: Pair এবং Triple টাইপ সেফ, কারণ এটি জেনেরিক টাইপ ব্যবহার করে।

Pair এবং Triple এর তুলনা

FeaturePairTriple
Element Count2 (Left, Right)3 (Left, Middle, Right)
Complexityকমবেশি
Usage ExampleKey-Value PairMulti-dimensional Data

Best Practices

  1. ডেটার উদ্দেশ্য পরিস্কার রাখুন: টাপল তখনই ব্যবহার করুন যখন ডেটা সহজ এবং সম্পর্কিত।
  2. ব্যাপক ডেটার জন্য ক্লাস ব্যবহার করুন: বড় বা কমপ্লেক্স ডেটার জন্য কাস্টম ক্লাস তৈরি করুন।
  3. Immutable রাখুন: ডেটা পরিবর্তনের ঝুঁকি কমাতে Immutable অবজেক্ট ব্যবহার করুন।

Apache Commons Lang-এ Pair এবং Triple এর মতো টাপল ব্যবহার করে ডেটা সংরক্ষণ ও পরিচালনা করা সহজ হয়। এটি:

  1. একাধিক মান গ্রুপ করতে সাহায্য করে।
  2. টাইপ সেফ ডেটা ম্যানেজমেন্ট নিশ্চিত করে।
  3. মেথড থেকে একাধিক মান ফেরত দিতে কার্যকর।

যদি ডেটা আরো জটিল হয়, তবে কাস্টম ক্লাস তৈরি করা উত্তম।

Content added By

Javatuples লাইব্রেরি ব্যবহার করে Tuple ইমপ্লিমেন্ট করা

146
146

Javatuples হলো একটি তৃতীয় পক্ষের লাইব্রেরি, যা জাভাতে Tuple ব্যবহার করার সহজ এবং কার্যকর উপায় সরবরাহ করে। এটি বিভিন্ন ধরনের এবং বিভিন্ন সংখ্যার মান গোষ্ঠীভুক্ত করতে সাহায্য করে। Javatuples লাইব্রেরিতে 1 থেকে 10 টি ভ্যালু ধারণ করার জন্য বিভিন্ন Tuple ক্লাস সরবরাহ করা হয়েছে, যেমন Pair, Triplet, Quartet, ইত্যাদি।


Javatuples ইনস্টলেশন

Maven Dependency:

Javatuples ব্যবহার করতে আপনার প্রকল্পে Maven Dependency যোগ করুন:

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

Gradle Dependency:

implementation 'org.javatuples:javatuples:1.2'

Javatuples-এর Tuple Classes

Javatuples-এ প্রধান Tuple ক্লাসগুলো:

  1. Pair: দুটি ভ্যালু ধারণ করে।
  2. Triplet: তিনটি ভ্যালু ধারণ করে।
  3. Quartet: চারটি ভ্যালু ধারণ করে।
  4. Quintet: পাঁচটি ভ্যালু ধারণ করে।
  5. Sextet: ছয়টি ভ্যালু ধারণ করে।
  6. ... (10 পর্যন্ত Tuple ক্লাস সরবরাহ করা হয়েছে)

Javatuples-এর সাধারণ ব্যবহার

১. Pair (দুটি ভ্যালু)

import org.javatuples.Pair;

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

        // মান অ্যাক্সেস করা
        System.out.println("Name: " + pair.getValue0()); // Alice
        System.out.println("Age: " + pair.getValue1()); // 25
    }
}

২. Triplet (তিনটি ভ্যালু)

import org.javatuples.Triplet;

public class TripletExample {
    public static void main(String[] args) {
        // একটি Triplet তৈরি
        Triplet<String, Integer, String> triplet = Triplet.with("Alice", 25, "Engineer");

        // মান অ্যাক্সেস করা
        System.out.println("Name: " + triplet.getValue0()); // Alice
        System.out.println("Age: " + triplet.getValue1()); // 25
        System.out.println("Profession: " + triplet.getValue2()); // Engineer
    }
}

৩. Quartet (চারটি ভ্যালু)

import org.javatuples.Quartet;

public class QuartetExample {
    public static void main(String[] args) {
        // একটি Quartet তৈরি
        Quartet<String, Integer, String, Boolean> quartet = Quartet.with("Alice", 25, "Engineer", true);

        // মান অ্যাক্সেস করা
        System.out.println("Name: " + quartet.getValue0()); // Alice
        System.out.println("Age: " + quartet.getValue1()); // 25
        System.out.println("Profession: " + quartet.getValue2()); // Engineer
        System.out.println("Is Active: " + quartet.getValue3()); // true
    }
}

৪. Tuple থেকে নতুন Tuple তৈরি করা

import org.javatuples.Pair;

public class ModifyTupleExample {
    public static void main(String[] args) {
        Pair<String, Integer> pair = Pair.with("Alice", 25);

        // নতুন Tuple তৈরি করা
        Pair<String, Integer> updatedPair = pair.setAt0("Bob");
        System.out.println("Updated Name: " + updatedPair.getValue0()); // Bob
    }
}

৫. Tuple এবং Collection এর মধ্যে রূপান্তর

Tuple থেকে List রূপান্তর:
import org.javatuples.Pair;

import java.util.List;

public class TupleToListExample {
    public static void main(String[] args) {
        Pair<String, Integer> pair = Pair.with("Alice", 25);

        // Tuple থেকে List
        List<Object> list = pair.toList();
        System.out.println("List: " + list); // [Alice, 25]
    }
}
List থেকে Tuple রূপান্তর:
import org.javatuples.Pair;

import java.util.Arrays;

public class ListToTupleExample {
    public static void main(String[] args) {
        // List থেকে Tuple তৈরি
        Pair<String, Integer> pair = Pair.fromCollection(Arrays.asList("Alice", 25));
        System.out.println("Name: " + pair.getValue0()); // Alice
        System.out.println("Age: " + pair.getValue1()); // 25
    }
}

Javatuples-এর কিছু গুরুত্বপূর্ণ মেথড

মেথডবর্ণনা
getValue(index)নির্দিষ্ট ইনডেক্সের মান ফেরত দেয়।
setAt(index, value)একটি নতুন Tuple তৈরি করে নির্দিষ্ট ইনডেক্সে মান সেট করে।
toList()Tuple থেকে List তৈরি করে।
fromCollection(collection)Collection থেকে Tuple তৈরি করে।
add(value)Tuple-এ নতুন মান যোগ করে একটি বড় Tuple তৈরি করে।

Javatuples-এর ব্যবহারযোগ্যতা

  1. একাধিক মান রিটার্ন করা:
    • একটি মেথড থেকে একাধিক মান ফেরত দেওয়ার জন্য।
  2. ডেটা গোষ্ঠীভুক্ত করা:
    • একাধিক ধরনের ডেটা একসঙ্গে সংরক্ষণ করতে।
  3. Immutable Data:
    • Tuple immutable হওয়ায় এটি নিরাপদ এবং সঠিক।
  4. Collection Integration:
    • সহজেই Collection এর সাথে Tuple রূপান্তর করা যায়।

Javatuples-এর সুবিধা এবং অসুবিধা

সুবিধাঅসুবিধা
একাধিক মান একত্রে প্যাকেজ করতে সুবিধা।মান অ্যাক্সেস করার জন্য ইনডেক্স ব্যবহার কিছুটা জটিল।
Immutable হওয়ায় ডেটা নিরাপদ।বড় Tuple (5+ মান) পড়া বা ব্যবস্থাপনা কঠিন।
Collection এর সাথে সহজ ইন্টিগ্রেশন।জাভার স্ট্যান্ডার্ড লাইব্রেরিতে বিল্ট-ইন নয়।

Javatuples লাইব্রেরি জাভাতে Tuple ইমপ্লিমেন্ট করার একটি শক্তিশালী এবং সহজ উপায়। এটি একাধিক মান একত্রে সংরক্ষণ, পাস করা, এবং রিটার্ন করার জন্য কার্যকর। ছোট এবং দ্রুত সমাধানের জন্য Javatuples অসাধারণ, তবে বড় এবং জটিল Tuple ব্যবস্থাপনার জন্য অন্য ডেটা স্ট্রাকচার বিবেচনা করা উচিত।

Content added By

Maven এবং Gradle দিয়ে Javatuples অন্তর্ভুক্ত করা

129
129

Javatuples হলো একটি থার্ড-পার্টি লাইব্রেরি যা জাভাতে Tuple এর কার্যকারিতা যোগ করে। এটি বিভিন্ন ধরনের Tuple (যেমন, Pair, Triplet, Quartet, ইত্যাদি) সরবরাহ করে। Maven বা Gradle ব্যবহার করে সহজেই এই লাইব্রেরি আপনার প্রোজেক্টে অন্তর্ভুক্ত করা যায়।


Maven দিয়ে Javatuples অন্তর্ভুক্ত করা

১. pom.xml এ Dependency যোগ করা

Maven ব্যবহারের সময় pom.xml ফাইলে নিচের ডিপেন্ডেন্সি যুক্ত করুন:

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

২. ডিপেন্ডেন্সি আপডেট করা

Maven ব্যবহার করে আপনার প্রোজেক্টের ডিপেন্ডেন্সি আপডেট করুন:

mvn clean install

Gradle দিয়ে Javatuples অন্তর্ভুক্ত করা

১. build.gradle এ Dependency যোগ করা

Gradle ব্যবহারের সময় build.gradle ফাইলে নিচের ডিপেন্ডেন্সি যুক্ত করুন:

dependencies {
    implementation 'org.javatuples:javatuples:1.2'
}

২. ডিপেন্ডেন্সি আপডেট করা

Gradle ব্যবহার করে আপনার প্রোজেক্টের ডিপেন্ডেন্সি আপডেট করুন:

gradle build

Javatuples ব্যবহার করার উদাহরণ

১. Maven বা Gradle দিয়ে অন্তর্ভুক্ত করার পরে Javatuples ব্যবহার

import org.javatuples.Pair;
import org.javatuples.Triplet;

public class JavatuplesExample {
    public static void main(String[] args) {
        // Pair example
        Pair<String, Integer> person = Pair.with("Alice", 30);
        System.out.println("Name: " + person.getValue0());
        System.out.println("Age: " + person.getValue1());

        // Triplet example
        Triplet<String, Integer, String> student = Triplet.with("Bob", 20, "Mathematics");
        System.out.println("Student Name: " + student.getValue0());
        System.out.println("Age: " + student.getValue1());
        System.out.println("Subject: " + student.getValue2());
    }
}

আউটপুট:

Name: Alice
Age: 30
Student Name: Bob
Age: 20
Subject: Mathematics

Javatuples এর সুবিধা

  1. বিভিন্ন ধরনের Tuple সমর্থন:
    • Pair, Triplet, Quartet, ইত্যাদি।
  2. Immutable Tuples:
    • Tuples পরিবর্তনযোগ্য নয়, যা ডেটা সুরক্ষিত রাখে।
  3. সহজ ব্যবহার:
    • সহজ এবং সরল কোড দিয়ে Tuples ব্যবহার করা যায়।

Maven এবং Gradle ব্যবহার করে সহজেই Javatuples অন্তর্ভুক্ত করা যায়। এটি জাভাতে Tuples এর অভাব পূরণ করে এবং ডেটা ম্যানিপুলেশন সহজ করে তোলে। আপনার প্রোজেক্টে Tuples ব্যবহারের জন্য এই লাইব্রেরি একটি নির্ভরযোগ্য সমাধান।

Content added By
Promotion