1. স্ট্রিং পরিবর্তন করা
জাভাতে, স্ট্রিংগুলি অপরিবর্তনীয় বস্তু। স্ট্রিং ক্লাসকে অত্যন্ত অপ্টিমাইজ করার জন্য এবং এটি সর্বত্র ব্যবহার করার অনুমতি দেওয়ার জন্য এটি করা হয়েছিল। উদাহরণস্বরূপ, হ্যাশম্যাপ সংগ্রহে কী হিসাবে ব্যবহারের জন্য শুধুমাত্র অপরিবর্তনীয় প্রকারগুলি সুপারিশ করা হয় ।
String
যাইহোক, প্রায়ই এমন পরিস্থিতি দেখা দেয় যখন প্রোগ্রামাররা ক্লাসের পরিবর্তনযোগ্য হওয়াকে আরও সুবিধাজনক মনে করে । তারা এমন একটি শ্রেণী চায় যেটি প্রতিবার যখন এর একটি পদ্ধতি কল করা হয় তখন একটি নতুন সাবস্ট্রিং তৈরি করে না।
ঠিক আছে, ধরুন আমাদের একটি খুব বড় স্ট্রিং আছে এবং আমাদের ঘন ঘন এর শেষে কিছু যোগ করতে হবে। এই ক্ষেত্রে, এমনকি অক্ষরের একটি সংগ্রহ ( ArrayList<Character>
) ক্রমাগত স্ট্রিং অবজেক্টগুলিকে পুনরায় তৈরি এবং সংযুক্ত করার চেয়ে আরও দক্ষ হতে পারে।
ঠিক এই কারণেই জাভা ভাষায় একটি স্ট্রিং-এর মতো টাইপ পরিবর্তন করা যেতে পারে। একে বলা হয় StringBuilder
।
একটি বস্তু তৈরি করা
একটি বিদ্যমান স্ট্রিং এর উপর ভিত্তি করে একটি বস্তু তৈরি করতে StringBuilder
, আপনাকে একটি বিবৃতি কার্যকর করতে হবে যেমন:
StringBuilder name = new StringBuilder(string);
একটি খালি পরিবর্তনযোগ্য স্ট্রিং তৈরি করতে, আপনাকে এইরকম একটি বিবৃতি ব্যবহার করতে হবে:
StringBuilder name = new StringBuilder();
পদ্ধতির তালিকা
ক্লাসে StringBuilder
দুই ডজন সহায়ক পদ্ধতি রয়েছে। এখানে সবচেয়ে গুরুত্বপূর্ণ হল:
পদ্ধতি | বর্ণনা |
---|---|
|
পাস করা বস্তুটিকে একটি স্ট্রিং-এ রূপান্তরিত করে এবং বর্তমান স্ট্রিং-এ যুক্ত করে |
|
পাস করা বস্তুটিকে একটি স্ট্রিং-এ রূপান্তর করে এবং বর্তমান স্ট্রিং-এ সন্নিবেশ করায় |
|
পাস করা স্ট্রিং দিয়ে start..end ব্যবধান দ্বারা নির্দিষ্ট করা স্ট্রিংয়ের অংশ প্রতিস্থাপন করে |
|
স্ট্রিং থেকে নির্দিষ্ট সূচক সহ অক্ষরটি সরিয়ে দেয় |
|
স্ট্রিং থেকে নির্দিষ্ট ব্যবধানের মধ্যে অক্ষরগুলি সরিয়ে দেয় |
|
বর্তমান স্ট্রিং এ একটি সাবস্ট্রিং অনুসন্ধান করে |
|
শেষ থেকে শুরু করে বর্তমান স্ট্রিং-এ একটি সাবস্ট্রিং অনুসন্ধান করে |
|
পাস করা সূচকে স্ট্রিংয়ের অক্ষরটি ফেরত দেয় |
|
নির্দিষ্ট ব্যবধান দ্বারা সংজ্ঞায়িত সাবস্ট্রিং প্রদান করে |
|
বর্তমান স্ট্রিং বিপরীত করে। |
|
পাস করা অক্ষরে নির্দিষ্ট সূচকে অক্ষর পরিবর্তন করে |
|
অক্ষরের মধ্যে স্ট্রিং এর দৈর্ঘ্য প্রদান করে |
এখানে প্রতিটি পদ্ধতির একটি সংক্ষিপ্ত বিবরণ রয়েছে
2. পদ্ধতির বর্ণনা:
একটি স্ট্রিং সংযুক্ত করা
StringBuilder
একটি পরিবর্তনযোগ্য স্ট্রিং ( ) এ কিছু যোগ করতে , append()
পদ্ধতিটি ব্যবহার করুন। উদাহরণ:
কোড | বর্ণনা |
---|---|
|
|
একটি স্ট্যান্ডার্ড স্ট্রিং রূপান্তর
StringBuilder
একটি বস্তুকে স্ট্রিং অবজেক্টে রূপান্তর করতে , আপনাকে কেবল এটির toString()
পদ্ধতিতে কল করতে হবে। উদাহরণ
কোড | আউটপুট |
---|---|
|
|
আমি কিভাবে একটি অক্ষর মুছে ফেলব?
একটি পরিবর্তনযোগ্য স্ট্রিং একটি অক্ষর মুছে ফেলার জন্য, আপনি deleteCharAt()
পদ্ধতি ব্যবহার করতে হবে. উদাহরণ:
কোড | আউটপুট |
---|---|
|
|
আমি কিভাবে একটি স্ট্রিং এর অংশ অন্য স্ট্রিং দিয়ে প্রতিস্থাপন করব?
এ জন্য পদ্ধতি আছে replace(int begin, int end, String str)
। উদাহরণ:
কোড | আউটপুট |
---|---|
|
|
3. স্ট্রিং দিয়ে কাজ করার দরকারী উদাহরণ
আমি কিভাবে একটি স্ট্রিং বিপরীত করতে পারি?
এটি করার জন্য একটি বিশেষ পদ্ধতি আছে — reverse()
; উদাহরণ:
কোড | আউটপুট |
---|---|
|
|
StringBuffer
ক্লাস
আরেকটি ক্লাস আছে — স্ট্রিংবাফার, যেটি ক্লাসের একটি অ্যানালগ StringBuilder
, কিন্তু এর পদ্ধতিগুলি synchronized
মডিফায়ার দিয়ে চিহ্নিত করা হয়েছে। এর মানে হল যে StringBuffer
বস্তুটি একাধিক থ্রেড থেকে একযোগে অ্যাক্সেস করা যেতে পারে।
কিন্তু এটি তুলনায় অনেক ধীর StringBuilder
. আপনি যখন জাভা মাল্টিথ্রেডিং কোয়েস্টে মাল্টিথ্রেডিং সক্রিয়ভাবে অন্বেষণ করতে শুরু করেন তখন আপনার এই ক্লাসের প্রয়োজন হতে পারে ।
GO TO FULL VERSION