জাভায় সরাসরি Quartet, Quintet, এবং Sextet সমর্থন নেই। তবে, Javatuples নামে একটি জনপ্রিয় থার্ড-পার্টি লাইব্রেরি ব্যবহারের মাধ্যমে এগুলো হ্যান্ডল করা সম্ভব। এটি একাধিক ভ্যালু ম্যানেজ করার জন্য Tuple ক্লাস প্রদান করে, যা 1 থেকে 10 ভ্যালু ধারণ করতে সক্ষম।
Javatuples লাইব্রেরি সেটআপ
Maven Dependency:
<dependency>
<groupId>org.javatuples</groupId>
<artifactId>javatuples</artifactId>
<version>1.2</version>
</dependency>
Quartet, Quintet, এবং Sextet এর ব্যবহার
১. Quartet (4 Values)
Quartet চারটি ভ্যালু ধারণ করতে পারে।
কোড উদাহরণ:
import org.javatuples.Quartet;
public class QuartetExample {
public static void main(String[] args) {
// Quartet তৈরি
Quartet<String, Integer, Double, Boolean> studentData =
new Quartet<>("Alice", 22, 3.75, true);
// মান অ্যাক্সেস
System.out.println("Name: " + studentData.getValue0());
System.out.println("Age: " + studentData.getValue1());
System.out.println("GPA: " + studentData.getValue2());
System.out.println("Graduated: " + studentData.getValue3());
// নতুন Quartet তৈরি
Quartet<String, Integer, Double, Boolean> updatedData =
studentData.setAt1(23); // Updated Age
System.out.println("Updated Age: " + updatedData.getValue1());
}
}
আউটপুট:
Name: Alice
Age: 22
GPA: 3.75
Graduated: true
Updated Age: 23
২. Quintet (5 Values)
Quintet পাঁচটি ভ্যালু ধারণ করতে পারে।
কোড উদাহরণ:
import org.javatuples.Quintet;
public class QuintetExample {
public static void main(String[] args) {
// Quintet তৈরি
Quintet<String, Integer, String, Boolean, Double> employeeData =
new Quintet<>("John", 35, "Developer", true, 85000.50);
// মান অ্যাক্সেস
System.out.println("Name: " + employeeData.getValue0());
System.out.println("Age: " + employeeData.getValue1());
System.out.println("Role: " + employeeData.getValue2());
System.out.println("Active: " + employeeData.getValue3());
System.out.println("Salary: $" + employeeData.getValue4());
}
}
আউটপুট:
Name: John
Age: 35
Role: Developer
Active: true
Salary: $85000.5
৩. Sextet (6 Values)
Sextet ছয়টি ভ্যালু ধারণ করতে পারে।
কোড উদাহরণ:
import org.javatuples.Sextet;
public class SextetExample {
public static void main(String[] args) {
// Sextet তৈরি
Sextet<String, String, Integer, Double, Boolean, String> productData =
new Sextet<>("Laptop", "Electronics", 5, 1200.99, true, "In Stock");
// মান অ্যাক্সেস
System.out.println("Product: " + productData.getValue0());
System.out.println("Category: " + productData.getValue1());
System.out.println("Quantity: " + productData.getValue2());
System.out.println("Price: $" + productData.getValue3());
System.out.println("Available: " + productData.getValue4());
System.out.println("Status: " + productData.getValue5());
}
}
আউটপুট:
Product: Laptop
Category: Electronics
Quantity: 5
Price: $1200.99
Available: true
Status: In Stock
Javatuples এর ফিচারসমূহ
- Immutable: Tuples একবার তৈরি হলে পরিবর্তনযোগ্য নয়।
- Heterogeneous Data Types: বিভিন্ন ধরনের ডেটা একত্রে রাখতে পারে।
- Set এবং Get মেথড: নতুন ভ্যালু সেট করতে এবং বিদ্যমান ভ্যালু পড়তে।
- Conversion: Tuples সহজেই
ListবাArray-তে রূপান্তর করা যায়।
উদাহরণ: Tuple থেকে List এ রূপান্তর
import org.javatuples.Quartet;
import java.util.List;
public class TupleToListExample {
public static void main(String[] args) {
Quartet<String, Integer, Boolean, Double> data =
new Quartet<>("Alice", 25, true, 99.5);
List<Object> dataList = data.toList();
System.out.println(dataList);
}
}
আউটপুট:
[Alice, 25, true, 99.5]
Tuples এর Practical Use Cases
Multiple Return Values: একটি মেথড থেকে একাধিক ভ্যালু রিটার্ন করতে।
public static Quintet<String, Integer, String, Boolean, Double> getEmployeeDetails() { return new Quintet<>("Alice", 30, "Manager", true, 75000.0); }- Data Aggregation: একাধিক ভিন্ন ডেটা একত্রিত করতে।
- API Response Handling: একটি API কলের মাধ্যমে একাধিক ডেটা একত্রে ম্যানেজ করতে।
- Event Handling: ইভেন্টের ডেটা (timestamp, user, action, status) সংরক্ষণ করতে।
Javatuples এর সুবিধা এবং সীমাবদ্ধতা
সুবিধা:
- Tuples তৈরির জন্য সহজ এবং সরল।
- Immutable হওয়ার কারণে থ্রেড-সেফ।
- Heterogeneous ডেটা ম্যানেজ করতে কার্যকর।
সীমাবদ্ধতা:
- Tuples নামবিহীন (unnamed), তাই বড় Tuples পড়া বা বুঝতে অসুবিধা হতে পারে।
- শুধুমাত্র ছোট ডেটা সেটের জন্য কার্যকর, বড় ডেটার জন্য কাস্টম ক্লাস ব্যবহার করা ভালো।
Quartet,Quintet, এবংSextetব্যবহার করে জাভাতে একাধিক ভিন্ন ভিন্ন ডেটা টাইপ একত্রে ম্যানেজ করা সহজ।- Javatuples একটি শক্তিশালী এবং সহজে ব্যবহারযোগ্য লাইব্রেরি, যা Tuples তৈরির সময় কাজের গতি বাড়ায়।
- Immutable Tuples এবং Heterogeneous ডেটা ব্যবস্থাপনা করার জন্য এটি একটি আদর্শ সমাধান। তবে বড় Tuples ব্যবহারের ক্ষেত্রে কাস্টম ক্লাস বিবেচনা করা উচিত।
Content added By
Read more