স্ট্রিংবিল্ডার এবং স্ট্রিংবাফার

স্ট্রিং ম্যানিপুলেশন - জাভা প্রোগ্রামিং (Java Programming) - Computer Programming

307

Java-তে StringBuilder এবং StringBuffer হলো স্ট্রিং ম্যানিপুলেশনের দুটি বিশেষ ক্লাস, যা mutable (পরিবর্তনযোগ্য) স্ট্রিং তৈরিতে ব্যবহৃত হয়। সাধারণত String অবজেক্ট immutable (অপরিবর্তনীয়) হওয়ায় স্ট্রিং পরিবর্তন করার জন্য প্রতিবার নতুন অবজেক্ট তৈরি হয়। StringBuilder এবং StringBuffer সেই সমস্যা সমাধান করে।


StringBuilder এবং StringBuffer এর মূল বৈশিষ্ট্য

বৈশিষ্ট্যStringBuilderStringBuffer
পরিবর্তনযোগ্যতাপরিবর্তনযোগ্যপরিবর্তনযোগ্য
থ্রেড নিরাপত্তাথ্রেড নিরাপদ নয়থ্রেড নিরাপদ
দ্রুততাতুলনামূলকভাবে দ্রুততুলনামূলকভাবে ধীর
ব্যবহারএকক-থ্রেড পরিবেশেমাল্টি-থ্রেড পরিবেশে

StringBuilder

StringBuilder হলো একটি mutable স্ট্রিং ক্লাস, যা একক-থ্রেড পরিবেশে দ্রুত এবং কার্যকরী। এটি synchronized নয়, অর্থাৎ এটি থ্রেড নিরাপদ নয়, তবে এটি একই থ্রেডে কাজ করতে দ্রুত এবং কার্যকর।

StringBuilder ব্যবহার উদাহরণ

public class StringBuilderExample {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Hello");

        // Append মেথড ব্যবহার করে নতুন টেক্সট যুক্ত করা
        sb.append(" World");
        System.out.println("After Append: " + sb); // Output: Hello World

        // Insert মেথড ব্যবহার করে নির্দিষ্ট স্থানে টেক্সট যুক্ত করা
        sb.insert(5, " Java");
        System.out.println("After Insert: " + sb); // Output: Hello Java World

        // Replace মেথড ব্যবহার করে নির্দিষ্ট অংশ পরিবর্তন করা
        sb.replace(6, 10, "Python");
        System.out.println("After Replace: " + sb); // Output: Hello Python World

        // Delete মেথড ব্যবহার করে নির্দিষ্ট অংশ মুছে ফেলা
        sb.delete(5, 12);
        System.out.println("After Delete: " + sb); // Output: Hello World

        // Reverse মেথড ব্যবহার করে স্ট্রিং উল্টানো
        sb.reverse();
        System.out.println("After Reverse: " + sb); // Output: dlroW olleH
    }
}

StringBuffer

StringBuffer একটি mutable স্ট্রিং ক্লাস যা মাল্টি-থ্রেড পরিবেশে ব্যবহারের জন্য উপযোগী। এটি synchronized হওয়ায় থ্রেড নিরাপদ এবং একাধিক থ্রেড একই StringBuffer অবজেক্টে কাজ করলেও ডেটা সুরক্ষিত থাকে।

StringBuffer ব্যবহার উদাহরণ

public class StringBufferExample {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("Hello");

        // Append মেথড ব্যবহার করে নতুন টেক্সট যুক্ত করা
        sb.append(" World");
        System.out.println("After Append: " + sb); // Output: Hello World

        // Insert মেথড ব্যবহার করে নির্দিষ্ট স্থানে টেক্সট যুক্ত করা
        sb.insert(5, " Java");
        System.out.println("After Insert: " + sb); // Output: Hello Java World

        // Replace মেথড ব্যবহার করে নির্দিষ্ট অংশ পরিবর্তন করা
        sb.replace(6, 10, "Python");
        System.out.println("After Replace: " + sb); // Output: Hello Python World

        // Delete মেথড ব্যবহার করে নির্দিষ্ট অংশ মুছে ফেলা
        sb.delete(5, 12);
        System.out.println("After Delete: " + sb); // Output: Hello World

        // Reverse মেথড ব্যবহার করে স্ট্রিং উল্টানো
        sb.reverse();
        System.out.println("After Reverse: " + sb); // Output: dlroW olleH
    }
}

StringBuilder এবং StringBuffer এর মেথডসমূহ

StringBuilder এবং StringBuffer একই ধরনের মেথড প্রদান করে, যার মাধ্যমে স্ট্রিং-এর উপর বিভিন্ন ধরনের অপারেশন করা যায়:

  1. append() - স্ট্রিং এর শেষে টেক্সট যুক্ত করা।
  2. insert() - নির্দিষ্ট ইনডেক্সে টেক্সট যুক্ত করা।
  3. replace() - নির্দিষ্ট অংশ পরিবর্তন করা।
  4. delete() - নির্দিষ্ট অংশ মুছে ফেলা।
  5. reverse() - স্ট্রিং-এর অক্ষরগুলো উল্টানো।

পার্থক্য: String, StringBuilder, এবং StringBuffer

বৈশিষ্ট্যStringStringBuilderStringBuffer
পরিবর্তনযোগ্যতাঅপরিবর্তনীয়পরিবর্তনযোগ্যপরিবর্তনযোগ্য
থ্রেড নিরাপত্তাথ্রেড নিরাপদথ্রেড নিরাপদ নয়থ্রেড নিরাপদ
দ্রুততাধীরতুলনামূলকভাবে দ্রুততুলনামূলকভাবে ধীর
ব্যবহারঅপরিবর্তনীয় ডেটাএকক থ্রেডেড পরিবেশেমাল্টি-থ্রেডেড পরিবেশে

কোনটি কখন ব্যবহার করবেন?

  • String: যখন স্ট্রিং অপরিবর্তনীয় হবে এবং একবার সেট করা মান পরিবর্তন হবে না।
  • StringBuilder: একক-থ্রেডেড পরিবেশে দ্রুত স্ট্রিং ম্যানিপুলেশনের প্রয়োজন হলে।
  • StringBuffer: মাল্টি-থ্রেডেড পরিবেশে স্ট্রিং ম্যানিপুলেশনের প্রয়োজন হলে, যেখানে থ্রেড নিরাপত্তা গুরুত্বপূর্ণ।

সারসংক্ষেপ

Java-তে StringBuilder এবং StringBuffer ব্যবহার করে mutable স্ট্রিং ম্যানিপুলেশন করা যায়। StringBuilder একক-থ্রেডেড পরিবেশে দ্রুত এবং কার্যকরী, যেখানে StringBuffer মাল্টি-থ্রেডেড পরিবেশে থ্রেড নিরাপত্তার জন্য ব্যবহৃত হয়। বিভিন্ন মেথড ব্যবহার করে স্ট্রিং-এ টেক্সট যোগ, পরিবর্তন, মুছে ফেলা, এবং উল্টানো যায়, যা প্রোগ্রামের কার্যক্ষমতা এবং মেমোরি ব্যবস্থাপনা উন্নত করে।

Content added By
Promotion

Are you sure to start over?

Loading...