Tuple হলো একাধিক ভিন্ন ভিন্ন ডেটা টাইপ একত্রে একটি অবজেক্ট হিসেবে সংরক্ষণের একটি কৌশল। জাভাতে Tuple সরাসরি বিল্ট-ইন সাপোর্ট নেই, তবে বিভিন্ন Tuple Libraries ব্যবহার করে এই কাঠামো ব্যবহার করা যায়।
Tuple এর প্রয়োজনীয়তা
- মাল্টি-ভ্যালু রিটার্ন: একটি মেথড থেকে একাধিক ভ্যালু রিটার্ন করতে।
- স্ট্রাকচারড ডেটা: স্ট্রাকচার্ড ডেটা স্টোর করার জন্য।
- ডাইনামিক ডেটা টাইপ: ভিন্ন ভিন্ন ডেটা টাইপ একত্রে সংরক্ষণ।
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 Commons | Pair, Triple | No | Lightweight | সহজ এবং দ্রুত |
| Vavr | 1-8 Tuples | Yes | Medium | ফাংশনাল প্রোগ্রামিং সমর্থন |
| Javatuples | 1-10 Tuples | Yes | Lightweight | সাধারণ এবং ব্যবহার সহজ |
| Guava | Custom | Yes | Medium | Immutable Collections |
Tuple ব্যবহার করার Best Practices
- কোড পড়তে সহজ রাখতে ছোট টুপল ব্যবহার করুন:
- ২-৩ উপাদানের বেশি টুপল ব্যবহার করা হলে
POJOবাRecordক্লাস তৈরি করুন।
- ২-৩ উপাদানের বেশি টুপল ব্যবহার করা হলে
- Immutable Tuples ব্যবহার করুন: পরিবর্তনশীলতা কমাতে Immutable লাইব্রেরি (যেমন Vavr বা Javatuples) ব্যবহার করুন।
- Dependency Management: প্রয়োজন অনুযায়ী হালকা বা শক্তিশালী লাইব্রেরি নির্বাচন করুন।
Java-তে Tuple-এর জন্য বিল্ট-ইন সাপোর্ট না থাকলেও বিভিন্ন লাইব্রেরি (যেমন Apache Commons, Vavr, Javatuples) ব্যবহার করে কার্যকরভাবে Tuple পরিচালনা করা যায়। Apache Commons হালকা এবং সাধারণ কাজের জন্য উপযুক্ত, যখন Vavr ফাংশনাল প্রোগ্রামিং সমর্থন করে। টুপল ব্যবহারের সময় কোডের সরলতা এবং কার্যকারিতা বজায় রাখুন।
Java Tuples হলো এমন একটি ডেটা স্ট্রাকচার যা বিভিন্ন ডেটা টাইপের একাধিক মান একত্রে সংরক্ষণ করতে পারে। তবে, Java-তে Tuples এর জন্য কোনো Built-in Support নেই। এই সীমাবদ্ধতাকে কাটিয়ে উঠতে ডেভেলপাররা তৃতীয় পক্ষের লাইব্রেরি বা কাস্টম সমাধান ব্যবহার করে।
Java তে Tuples কেন Built-in নেই?
- অবজেক্ট-ওরিয়েন্টেড ডিজাইন: Java-তে Tuples এর পরিবর্তে
POJO(Plain Old Java Object) বাRecordব্যবহার উৎসাহিত করা হয়। - নামহীন ডেটা: Tuples-এর মানগুলি সাধারণত নামবিহীন থাকে (
_1,_2ইত্যাদি), যা কোডের রিডেবিলিটি কমায়। - ডেটা টাইপের ক্লারিটি:
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
| বৈশিষ্ট্য | Tuples | POJO/Record |
|---|---|---|
| রিডেবিলিটি | _1, _2 ইত্যাদি নামবিহীন ফিল্ড। | ফিল্ড নামের কারণে বেশি রিডেবল। |
| কোডের সরলতা | কম কোডে ব্যবহার করা যায়। | কিছুটা বেশি কোড প্রয়োজন। |
| টাইপ সেফটি | সাধারণত ভালো টাইপ সেফটি। | পুরোপুরি টাইপ সেফ। |
| ইন্টেনশন স্পষ্টতা | উদ্দেশ্য অস্পষ্ট হতে পারে। | উদ্দেশ্য স্পষ্ট। |
| মডেলিং | ছোট কাজের জন্য উপযুক্ত। | বড় এবং জটিল ডেটা মডেলিংয়ে কার্যকর। |
Tuples এর ব্যবহার ক্ষেত্র
- মাল্টিপল রিটার্ন ভ্যালু: একটি মেথড থেকে একাধিক মান ফিরিয়ে দিতে।
- অস্থায়ী ডেটা গ্রুপিং: একাধিক ডেটা টাইপ সাময়িকভাবে সংরক্ষণ করতে।
- ক্লায়েন্ট-সার্ভার কমিউনিকেশন: বিভিন্ন ডেটা টাইপ একত্রে পাঠাতে।
যদিও Java-তে Tuples-এর জন্য Built-in Support নেই, তবুও বিভিন্ন তৃতীয় পক্ষের লাইব্রেরি বা কাস্টম সমাধান ব্যবহার করে Tuples ব্যবহার করা যায়।
- ছোট কাজের জন্য: Vavr, Apache Commons, বা Javatuples ব্যবহার করুন।
- বড় এবং জটিল কাজের জন্য:
POJOবাRecordব্যবহার করা ভালো।
আপনার প্রয়োজন অনুযায়ী টুল বা কৌশল নির্বাচন করুন।
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 ব্যবহার করার কারণ
একাধিক রিটার্ন ভ্যালু: একটি মেথড থেকে একাধিক মান ফেরত দিতে পারে।
public static Pair<Integer, Integer> calculate(int a, int b) { return Pair.of(a + b, a * b); }- অস্থায়ী ডেটা স্ট্রাকচার: কমপ্লেক্স ক্লাস তৈরির প্রয়োজন ছাড়াই সম্পর্কিত ডেটা সংরক্ষণ।
- টাইপ সেফ: Pair এবং Triple টাইপ সেফ, কারণ এটি জেনেরিক টাইপ ব্যবহার করে।
Pair এবং Triple এর তুলনা
| Feature | Pair | Triple |
|---|---|---|
| Element Count | 2 (Left, Right) | 3 (Left, Middle, Right) |
| Complexity | কম | বেশি |
| Usage Example | Key-Value Pair | Multi-dimensional Data |
Best Practices
- ডেটার উদ্দেশ্য পরিস্কার রাখুন: টাপল তখনই ব্যবহার করুন যখন ডেটা সহজ এবং সম্পর্কিত।
- ব্যাপক ডেটার জন্য ক্লাস ব্যবহার করুন: বড় বা কমপ্লেক্স ডেটার জন্য কাস্টম ক্লাস তৈরি করুন।
- Immutable রাখুন: ডেটা পরিবর্তনের ঝুঁকি কমাতে Immutable অবজেক্ট ব্যবহার করুন।
Apache Commons Lang-এ Pair এবং Triple এর মতো টাপল ব্যবহার করে ডেটা সংরক্ষণ ও পরিচালনা করা সহজ হয়। এটি:
- একাধিক মান গ্রুপ করতে সাহায্য করে।
- টাইপ সেফ ডেটা ম্যানেজমেন্ট নিশ্চিত করে।
- মেথড থেকে একাধিক মান ফেরত দিতে কার্যকর।
যদি ডেটা আরো জটিল হয়, তবে কাস্টম ক্লাস তৈরি করা উত্তম।
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 ক্লাসগুলো:
- Pair: দুটি ভ্যালু ধারণ করে।
- Triplet: তিনটি ভ্যালু ধারণ করে।
- Quartet: চারটি ভ্যালু ধারণ করে।
- Quintet: পাঁচটি ভ্যালু ধারণ করে।
- Sextet: ছয়টি ভ্যালু ধারণ করে।
- ... (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-এর ব্যবহারযোগ্যতা
- একাধিক মান রিটার্ন করা:
- একটি মেথড থেকে একাধিক মান ফেরত দেওয়ার জন্য।
- ডেটা গোষ্ঠীভুক্ত করা:
- একাধিক ধরনের ডেটা একসঙ্গে সংরক্ষণ করতে।
- Immutable Data:
- Tuple immutable হওয়ায় এটি নিরাপদ এবং সঠিক।
- Collection Integration:
- সহজেই Collection এর সাথে Tuple রূপান্তর করা যায়।
Javatuples-এর সুবিধা এবং অসুবিধা
| সুবিধা | অসুবিধা |
|---|---|
| একাধিক মান একত্রে প্যাকেজ করতে সুবিধা। | মান অ্যাক্সেস করার জন্য ইনডেক্স ব্যবহার কিছুটা জটিল। |
| Immutable হওয়ায় ডেটা নিরাপদ। | বড় Tuple (5+ মান) পড়া বা ব্যবস্থাপনা কঠিন। |
| Collection এর সাথে সহজ ইন্টিগ্রেশন। | জাভার স্ট্যান্ডার্ড লাইব্রেরিতে বিল্ট-ইন নয়। |
Javatuples লাইব্রেরি জাভাতে Tuple ইমপ্লিমেন্ট করার একটি শক্তিশালী এবং সহজ উপায়। এটি একাধিক মান একত্রে সংরক্ষণ, পাস করা, এবং রিটার্ন করার জন্য কার্যকর। ছোট এবং দ্রুত সমাধানের জন্য Javatuples অসাধারণ, তবে বড় এবং জটিল Tuple ব্যবস্থাপনার জন্য অন্য ডেটা স্ট্রাকচার বিবেচনা করা উচিত।
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 এর সুবিধা
- বিভিন্ন ধরনের Tuple সমর্থন:
Pair,Triplet,Quartet, ইত্যাদি।
- Immutable Tuples:
- Tuples পরিবর্তনযোগ্য নয়, যা ডেটা সুরক্ষিত রাখে।
- সহজ ব্যবহার:
- সহজ এবং সরল কোড দিয়ে Tuples ব্যবহার করা যায়।
Maven এবং Gradle ব্যবহার করে সহজেই Javatuples অন্তর্ভুক্ত করা যায়। এটি জাভাতে Tuples এর অভাব পূরণ করে এবং ডেটা ম্যানিপুলেশন সহজ করে তোলে। আপনার প্রোজেক্টে Tuples ব্যবহারের জন্য এই লাইব্রেরি একটি নির্ভরযোগ্য সমাধান।
Read more