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 এর মতো টাপল ব্যবহার করে ডেটা সংরক্ষণ ও পরিচালনা করা সহজ হয়। এটি:
- একাধিক মান গ্রুপ করতে সাহায্য করে।
- টাইপ সেফ ডেটা ম্যানেজমেন্ট নিশ্চিত করে।
- মেথড থেকে একাধিক মান ফেরত দিতে কার্যকর।
যদি ডেটা আরো জটিল হয়, তবে কাস্টম ক্লাস তৈরি করা উত্তম।
Read more