Tuple এবং Java 8 এর Advanced Features এর ব্যবহার

Java 8+ এবং Tuples Integration - জাভা টাপল (Java Tuples) - Java Technologies

379

Java 8-এর Advanced Features (যেমন Streams, Lambda Expressions, এবং Method References) ব্যবহার করে Tuples আরও কার্যকরভাবে পরিচালনা করা যায়। Javatuples এর Immutable এবং Type-Safe বৈশিষ্ট্যগুলির সঙ্গে Java 8-এর ফিচার একত্রিত করে উন্নত ডেটা প্রসেসিং সহজ হয়।


Java 8 এবং Tuples এর ফিচার সমন্বয়

১. Lambda Expressions এবং Tuples

Lambda Expressions ব্যবহার করে Tuples এর ডেটা প্রসেসিং এবং ফিল্টারিং করা যায়।

উদাহরণ:

import org.javatuples.Pair;

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

public class LambdaWithTuple {
    public static void main(String[] args) {
        List<Pair<String, Integer>> people = new ArrayList<>();
        people.add(Pair.with("Alice", 30));
        people.add(Pair.with("Bob", 25));
        people.add(Pair.with("Charlie", 35));

        // ফিল্টার: শুধু তাদের দেখান যাদের বয়স ৩০ বা তার বেশি
        people.stream()
                .filter(person -> person.getValue1() >= 30)
                .forEach(System.out::println);
    }
}

আউটপুট:

[Alice, 30]
[Charlie, 35]

২. Streams এবং Tuples

Streams API ব্যবহার করে Tuples এর উপর Sorting, Mapping, এবং Collecting পরিচালনা করা যায়।

Sorting এবং Collecting উদাহরণ:

import org.javatuples.Pair;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class StreamWithTuple {
    public static void main(String[] args) {
        List<Pair<String, Integer>> people = new ArrayList<>();
        people.add(Pair.with("Alice", 30));
        people.add(Pair.with("Bob", 25));
        people.add(Pair.with("Charlie", 35));

        // বয়স অনুযায়ী সাজান এবং সংগ্রহ করুন
        List<Pair<String, Integer>> sortedPeople = people.stream()
                .sorted((p1, p2) -> p1.getValue1().compareTo(p2.getValue1()))
                .collect(Collectors.toList());

        sortedPeople.forEach(System.out::println);
    }
}

আউটপুট:

[Bob, 25]
[Alice, 30]
[Charlie, 35]

৩. Method References এবং Tuples

Method References ব্যবহার করে Tuples এর ডেটা প্রসেসিংকে আরো সংক্ষিপ্ত এবং পরিষ্কার করা যায়।

উদাহরণ:

import org.javatuples.Pair;

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

public class MethodReferenceWithTuple {
    public static void main(String[] args) {
        List<Pair<String, Integer>> people = new ArrayList<>();
        people.add(Pair.with("Alice", 30));
        people.add(Pair.with("Bob", 25));
        people.add(Pair.with("Charlie", 35));

        // Method Reference ব্যবহার করে Tuple প্রিন্ট করা
        people.forEach(System.out::println);
    }
}

আউটপুট:

[Alice, 30]
[Bob, 25]
[Charlie, 35]

৪. Map এবং Reduce এর মাধ্যমে Tuples প্রক্রিয়াকরণ

Map এবং Reduce ব্যবহার করে Tuples এর উপর জটিল গণনা করা যায়।

উদাহরণ: Tuples এর গড় বয়স নির্ণয় করা

import org.javatuples.Pair;

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

public class MapReduceWithTuple {
    public static void main(String[] args) {
        List<Pair<String, Integer>> people = new ArrayList<>();
        people.add(Pair.with("Alice", 30));
        people.add(Pair.with("Bob", 25));
        people.add(Pair.with("Charlie", 35));

        // গড় বয়স নির্ণয়
        double averageAge = people.stream()
                .mapToInt(Pair::getValue1)
                .average()
                .orElse(0);

        System.out.println("Average Age: " + averageAge);
    }
}

আউটপুট:

Average Age: 30.0

৫. Nested Tuples এবং Streams

Nested Tuples ব্যবহার করে জটিল ডেটা গঠন পরিচালনা করা যায়।

উদাহরণ: Nested Tuples এর ফিল্টারিং

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

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

public class NestedTupleWithStream {
    public static void main(String[] args) {
        List<Pair<String, Triplet<String, Integer, Double>>> data = new ArrayList<>();
        data.add(Pair.with("Alice", Triplet.with("Math", 90, 95.5)));
        data.add(Pair.with("Bob", Triplet.with("Science", 80, 85.0)));
        data.add(Pair.with("Charlie", Triplet.with("English", 85, 88.0)));

        // ফিল্টার: ৮৫ এর উপরে স্কোর যাদের আছে তাদের দেখান
        data.stream()
                .filter(entry -> entry.getValue1().getValue1() > 85)
                .forEach(System.out::println);
    }
}

আউটপুট:

[Alice, [Math, 90, 95.5]]
[Charlie, [English, 85, 88.0]]

Tuples এবং Java 8 Features এর সুবিধা

  1. সহজ ডেটা ম্যানিপুলেশন:
    • Streams এবং Lambda ব্যবহার করে Tuples এর ডেটা প্রসেসিং সহজ হয়।
  2. সংক্ষিপ্ত কোড:
    • Method References এবং Functional Programming Tuples এর ব্যবহারে কোড সংক্ষিপ্ত করে।
  3. জটিল ডেটা পরিচালনা:
    • Nested Tuples এর মাধ্যমে জটিল ডেটা সহজে ফিল্টারিং এবং প্রসেসিং করা যায়।
  4. Custom Logic:
    • Tuples এর Sorting, Mapping, এবং Filtering এর জন্য কাস্টম লজিক সহজে প্রয়োগ করা যায়।

Java Tuples এবং Java 8 এর Streams, Lambda Expressions, এবং Method References একত্রে ব্যবহার করে উন্নত ডেটা ম্যানিপুলেশন এবং প্রসেসিং সম্ভব। Nested Tuples পরিচালনা থেকে শুরু করে জটিল গণনা পর্যন্ত সবকিছু Java 8 ফিচার দ্বারা সহজে বাস্তবায়ন করা যায়। Tuples এর Immutable এবং Type-Safe বৈশিষ্ট্য Java 8 এর আধুনিক কনসেপ্টের সঙ্গে মিলে একটি শক্তিশালী সমাধান প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...