Java.math এর Compatibility অন্যান্য Java প্যাকেজের সাথে (java.util, java.lang)

Java.math এর Compatibility এবং Integration - জাভা ম্যাথ প্যাকেজ (Java.math Package) - Java Technologies

392

Java.math প্যাকেজের BigInteger এবং BigDecimal ক্লাসগুলি বেশ শক্তিশালী এবং বড় সংখ্যার গাণিতিক হিসাব, রাউন্ডিং এবং এক্সপোনেনশিয়াল অপারেশন করতে ব্যবহৃত হয়। এই ক্লাসগুলির সাথে অন্যান্য Java প্যাকেজ (যেমন java.util এবং java.lang) এর সাথে compatibility বা ইন্টারঅ্যাকশন নিশ্চিত করতে কিছু নির্দিষ্ট পদ্ধতি ও কৌশল ব্যবহার করা হয়।

এখানে java.math এর BigInteger এবং BigDecimal ক্লাসের অন্যান্য Java প্যাকেজের সাথে compatibility এবং সাধারণ interoperability সম্পর্কে আলোচনা করা হবে, বিশেষত java.util এবং java.lang প্যাকেজের সাথে।

1. BigInteger এবং java.util প্যাকেজের Compatibility

java.util প্যাকেজটি Java-তে বিভিন্ন উপকারী ডেটা স্ট্রাকচার এবং ইউটিলিটি ক্লাস সরবরাহ করে, যেমন ArrayList, HashMap, এবং CollectionsBigInteger ক্লাসের সাথে কিছু সাধারণ কাজ যেমন লিস্টে স্টোর করা, ম্যাপের কী হিসেবে ব্যবহার করা বা কন্টেইনারের সাথে এর ইন্টারঅ্যাকশন করা সম্ভব।

উদাহরণ 1: BigInteger কে ArrayList তে স্টোর করা

import java.math.BigInteger;
import java.util.ArrayList;

public class BigIntegerAndArrayList {
    public static void main(String[] args) {
        // Create BigInteger objects
        BigInteger num1 = new BigInteger("123456789012345678901234567890");
        BigInteger num2 = new BigInteger("987654321098765432109876543210");
        
        // Create an ArrayList to store BigInteger objects
        ArrayList<BigInteger> bigIntegers = new ArrayList<>();
        bigIntegers.add(num1);
        bigIntegers.add(num2);
        
        // Display the elements in the ArrayList
        System.out.println("ArrayList of BigInteger values:");
        for (BigInteger bigInt : bigIntegers) {
            System.out.println(bigInt);
        }
    }
}

Output:

ArrayList of BigInteger values:
123456789012345678901234567890
987654321098765432109876543210

ব্যাখ্যা:

  • BigInteger অবজেক্টগুলি ArrayList এ স্টোর করা হয়েছে। java.util.ArrayList একটি সাধারণ কন্টেইনার যা BigInteger ডেটা স্টোর করতে পারে।

উদাহরণ 2: BigInteger কে HashMap তে কী হিসেবে ব্যবহার করা

import java.math.BigInteger;
import java.util.HashMap;

public class BigIntegerAndHashMap {
    public static void main(String[] args) {
        // Create BigInteger objects
        BigInteger key1 = new BigInteger("123");
        BigInteger key2 = new BigInteger("456");
        
        // Create a HashMap with BigInteger keys
        HashMap<BigInteger, String> map = new HashMap<>();
        map.put(key1, "First Key");
        map.put(key2, "Second Key");
        
        // Display the HashMap
        System.out.println("HashMap with BigInteger keys:");
        for (BigInteger key : map.keySet()) {
            System.out.println(key + ": " + map.get(key));
        }
    }
}

Output:

HashMap with BigInteger keys:
123: First Key
456: Second Key

ব্যাখ্যা:

  • BigInteger ক্লাসের অবজেক্টগুলি HashMap এর কী হিসেবে ব্যবহার করা হয়েছে, যা java.util.HashMap এর সাথে ইন্টারঅ্যাক্ট করছে।

2. BigDecimal এবং java.util প্যাকেজের Compatibility

BigDecimal ক্লাস এবং java.util প্যাকেজের মধ্যে BigDecimal মানের গণনা, রাউন্ডিং এবং ভিন্ন ভিন্ন ধরণের পদ্ধতি ব্যবহারের জন্য কিছু বিশেষ পদ্ধতি রয়েছে।

উদাহরণ: BigDecimal এর সাথে Collections.sort() ব্যবহার

Collections.sort() মেথডের মাধ্যমে BigDecimal অবজেক্টের একটি লিস্ট সঠিকভাবে সাজানো যায়।

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;

public class BigDecimalAndCollections {
    public static void main(String[] args) {
        // Create BigDecimal objects
        BigDecimal num1 = new BigDecimal("123.45");
        BigDecimal num2 = new BigDecimal("67.89");
        BigDecimal num3 = new BigDecimal("345.67");
        
        // Add BigDecimal objects to an ArrayList
        ArrayList<BigDecimal> list = new ArrayList<>();
        list.add(num1);
        list.add(num2);
        list.add(num3);
        
        // Sort the list of BigDecimal numbers
        Collections.sort(list);
        
        // Display the sorted list
        System.out.println("Sorted list of BigDecimal values:");
        for (BigDecimal num : list) {
            System.out.println(num);
        }
    }
}

Output:

Sorted list of BigDecimal values:
67.89
123.45
345.67

ব্যাখ্যা:

  • BigDecimal অবজেক্টগুলো ArrayList এ স্টোর করা হয়েছে এবং তারপর Collections.sort() মেথড ব্যবহার করে BigDecimal মানগুলো সঠিকভাবে সাজানো হয়েছে।

3. BigInteger এবং java.lang প্যাকেজের Compatibility

BigInteger ক্লাসটি java.lang প্যাকেজের Number ক্লাস থেকে বর্ধিত হওয়ায়, এটি int, long এবং অন্যান্য সংখ্যামূলক ক্লাসের সাথে conversion এবং arithmetic অপারেশন করার জন্য অনেক সহজ।

উদাহরণ 1: BigInteger কে int এ রূপান্তর

import java.math.BigInteger;

public class BigIntegerAndLang {
    public static void main(String[] args) {
        // Create a BigInteger object
        BigInteger bigInteger = new BigInteger("123456789012345678901234567890");

        // Convert BigInteger to int (casting)
        int intValue = bigInteger.intValue();
        System.out.println("BigInteger to int: " + intValue);
    }
}

Output:

BigInteger to int: 1410065408

ব্যাখ্যা:

  • BigInteger.intValue(): এটি BigInteger কে int টাইপে রূপান্তর করে। যদিও এই রূপান্তরটি কিছুটা সীমাবদ্ধ (কারণ BigInteger অনেক বড় হতে পারে), তবে এটি ছোট সংখ্যার জন্য উপযুক্ত।

উদাহরণ 2: BigDecimal এবং Double এর মধ্যে রূপান্তর

import java.math.BigDecimal;

public class BigDecimalAndLang {
    public static void main(String[] args) {
        // Create a BigDecimal object
        BigDecimal bigDecimal = new BigDecimal("123.456789");

        // Convert BigDecimal to double
        double doubleValue = bigDecimal.doubleValue();
        System.out.println("BigDecimal to double: " + doubleValue);
    }
}

Output:

BigDecimal to double: 123.456789

ব্যাখ্যা:

  • BigDecimal.doubleValue(): এটি BigDecimal কে double টাইপে রূপান্তর করে। তবে এটি সঠিক দশমিক স্থান রক্ষা করতে পারে না, তাই বড় নির্ভুলতার প্রয়োজন হলে BigDecimal এর সাথে কাজ করা ভালো।

  • BigInteger এবং BigDecimal এর সাথে java.util প্যাকেজের কন্টেইনার যেমন ArrayList, HashMap এবং Collections কাজ করা সম্ভব এবং সেগুলি সহজেই BigInteger এবং BigDecimal স্টোর এবং প্রক্রিয়া করতে পারে।
  • BigInteger এবং BigDecimal এর মান java.lang প্যাকেজের int, long, এবং double টাইপের সাথে রূপান্তর এবং গাণিতিক অপারেশন করতে সহজভাবে ব্যবহৃত হয়।
  • BigDecimal এবং BigInteger এর রূপান্তরের সময় সঠিকতার দিকে মনোযোগ দেওয়া উচিত, বিশেষত যখন আপনি বড় সংখ্যার গাণিতিক কাজ করছেন।
Content added By
Promotion

Are you sure to start over?

Loading...