Java তে String হলো একটি অবজেক্ট যা চিহ্নিত করে একটি চরিত্রের সিকোয়েন্স। String ক্লাসটি Java তে অনেক গুরুত্বপূর্ণ এবং এটি বিভিন্ন ধরণের স্ট্রিং অপারেশন যেমন স্ট্রিং কনক্যাটেনেশন, সাবস্ট্রিং এক্সট্র্যাকশন, কম্প্যারিজন ইত্যাদি পরিচালনা করতে সহায়তা করে।
public class StringExample {
public static void main(String[] args) {
// String Declaration
String str1 = "Hello, World!";
String str2 = new String("Java Programming");
System.out.println(str1); // Output: Hello, World!
System.out.println(str2); // Output: Java Programming
}
}
Output:
Hello, World!
Java Programming
String গুলিকে একত্রিত করতে +
অপারেটর বা concat()
মেথড ব্যবহার করা হয়।
public class StringConcatenation {
public static void main(String[] args) {
String str1 = "Java";
String str2 = " Programming";
// Using + operator
String result1 = str1 + str2;
System.out.println(result1); // Output: Java Programming
// Using concat() method
String result2 = str1.concat(str2);
System.out.println(result2); // Output: Java Programming
}
}
Output:
Java Programming
Java Programming
length()
মেথড ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য (কেমন সংখ্যা) বের করা হয়।
public class StringLength {
public static void main(String[] args) {
String str = "Hello, World!";
int length = str.length();
System.out.println("Length of the string: " + length); // Output: 13
}
}
Output:
Length of the string: 13
substring()
মেথড ব্যবহার করে একটি স্ট্রিংয়ের একটি নির্দিষ্ট অংশ বের করা যায়।
public class SubstringExample {
public static void main(String[] args) {
String str = "Java Programming";
// Extracting substring from index 5 to 15
String substr = str.substring(5, 15);
System.out.println(substr); // Output: Programming
}
}
Output:
Programming
equals()
এবং equalsIgnoreCase()
মেথড ব্যবহার করে স্ট্রিং তুলনা করা যায়। equals()
বড়-ছোট হাতের পার্থক্য চেক করে, আর equalsIgnoreCase()
সেটা উপেক্ষা করে।
public class StringComparison {
public static void main(String[] args) {
String str1 = "Java";
String str2 = "java";
// Case-sensitive comparison
System.out.println(str1.equals(str2)); // Output: false
// Case-insensitive comparison
System.out.println(str1.equalsIgnoreCase(str2)); // Output: true
}
}
Output:
false
true
toUpperCase()
এবং toLowerCase()
মেথড ব্যবহার করে স্ট্রিংয়ের সমস্ত অক্ষরকে বড় হাতের বা ছোট হাতের অক্ষরে রূপান্তর করা যায়।
public class StringCaseConversion {
public static void main(String[] args) {
String str = "Java Programming";
// Convert to uppercase
String upperStr = str.toUpperCase();
System.out.println(upperStr); // Output: JAVA PROGRAMMING
// Convert to lowercase
String lowerStr = str.toLowerCase();
System.out.println(lowerStr); // Output: java programming
}
}
Output:
JAVA PROGRAMMING
java programming
trim()
মেথড ব্যবহার করে স্ট্রিংয়ের আগে এবং পরে থাকা ফাঁকা স্থান (whitespace) মুছে ফেলা যায়।
public class StringTrim {
public static void main(String[] args) {
String str = " Hello, World! ";
// Trim the whitespace
String trimmedStr = str.trim();
System.out.println(trimmedStr); // Output: Hello, World!
}
}
Output:
Hello, World!
split()
মেথড ব্যবহার করে একটি স্ট্রিংকে নির্দিষ্ট একটি ডেলিমিটার বা ক্যারেক্টার দিয়ে বিভক্ত করা যায়।
public class StringSplit {
public static void main(String[] args) {
String str = "Java,Python,C++,JavaScript";
// Split by comma
String[] languages = str.split(",");
// Print the individual strings
for (String language : languages) {
System.out.println(language);
}
}
}
Output:
Java
Python
C++
JavaScript
indexOf()
মেথড ব্যবহার করে একটি স্ট্রিংয়ের মধ্যে কোনো নির্দিষ্ট ক্যারেক্টার বা সাবস্ট্রিং খুঁজে বের করা যায়।
public class StringSearch {
public static void main(String[] args) {
String str = "Java Programming";
// Find the index of 'P'
int index = str.indexOf('P');
System.out.println("Index of P: " + index); // Output: 5
// Find the index of a substring
int subIndex = str.indexOf("Pro");
System.out.println("Index of 'Pro': " + subIndex); // Output: 5
}
}
Output:
Index of P: 5
Index of 'Pro': 5
replace()
মেথড ব্যবহার করে একটি স্ট্রিংয়ের একটি অংশকে অন্য একটি অংশে পরিবর্তন করা যায়।
public class StringReplace {
public static void main(String[] args) {
String str = "Java Programming";
// Replace "Java" with "Python"
String newStr = str.replace("Java", "Python");
System.out.println(newStr); // Output: Python Programming
}
}
Output:
Python Programming
Java তে String ক্লাস একটি অত্যন্ত শক্তিশালী এবং বহুল ব্যবহৃত ক্লাস যা স্ট্রিং ম্যানিপুলেশন সম্পর্কিত বিভিন্ন কার্যকরী ফাংশন প্রদান করে। এখানে বিভিন্ন ধরনের String অপারেশন যেমন কনক্যাটেনেশন, সাবস্ট্রিং, তুলনা, কেস কনভার্সন, স্প্লিট, রেপ্লেস ইত্যাদি নিয়ে আলোচনা করা হয়েছে। এগুলি স্ট্রিং ম্যানিপুলেশনকে আরও সহজ এবং কার্যকরী করে তোলে।
Java তে String Manipulation হল এক গুরুত্বপূর্ণ কাজ যা স্ট্রিংয়ের বিভিন্ন কাজের জন্য ব্যবহৃত হয়। String Concatenation, String Length, এবং Substring হল স্ট্রিং ম্যানিপুলেশনের তিনটি সাধারণ এবং গুরুত্বপূর্ণ অপারেশন। এখানে আমরা এই তিনটি অপারেশন কিভাবে ব্যবহার করা যায় তা উদাহরণের মাধ্যমে দেখব।
String Concatenation এর মাধ্যমে দুটি বা একাধিক স্ট্রিং একত্রিত (join) করা হয়। Java তে এটি করা যেতে পারে +
অপারেটর অথবা concat()
মেথড ব্যবহার করে।
+
অপারেটর ব্যবহার করে:public class StringConcatenation {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "World";
// + অপারেটর ব্যবহার করে স্ট্রিং যোগ করা
String result = str1 + " " + str2;
System.out.println("Concatenated String: " + result);
}
}
Output:
Concatenated String: Hello World
concat()
মেথড ব্যবহার করে:public class StringConcatenation {
public static void main(String[] args) {
String str1 = "Java";
String str2 = "Programming";
// concat() মেথড ব্যবহার করে স্ট্রিং যোগ করা
String result = str1.concat(" ").concat(str2);
System.out.println("Concatenated String: " + result);
}
}
Output:
Concatenated String: Java Programming
length()
মেথডটি একটি স্ট্রিং এর দৈর্ঘ্য (অক্ষরের সংখ্যা) ফেরত দেয়।
public class StringLength {
public static void main(String[] args) {
String str = "Hello, Java!";
// length() মেথড ব্যবহার করে স্ট্রিং এর দৈর্ঘ্য পাওয়া
int length = str.length();
System.out.println("The length of the string is: " + length);
}
}
Output:
The length of the string is: 13
substring()
মেথডটি একটি স্ট্রিং এর নির্দিষ্ট অংশ বের করতে ব্যবহৃত হয়। এটি দুটি ফর্মে ব্যবহৃত হতে পারে:
substring(int startIndex)
: এটি শুরু সূচক থেকে শেষ পর্যন্ত স্ট্রিংয়ের অংশ বের করে।substring(int startIndex, int endIndex)
: এটি শুরু সূচক থেকে শেষ সূচক পর্যন্ত স্ট্রিংয়ের অংশ বের করে।substring()
মেথড ব্যবহার করে স্ট্রিং এর অংশ বের করা:public class StringSubstring {
public static void main(String[] args) {
String str = "Java Programming";
// substring() মেথড ব্যবহার করে স্ট্রিং এর অংশ বের করা
String subStr1 = str.substring(5); // "Programming"
String subStr2 = str.substring(0, 4); // "Java"
System.out.println("Substring from index 5: " + subStr1);
System.out.println("Substring from index 0 to 4: " + subStr2);
}
}
Output:
Substring from index 5: Programming
Substring from index 0 to 4: Java
+
অপারেটর বা concat()
মেথড ব্যবহার করা যায়।length()
মেথডটি একটি স্ট্রিংয়ের দৈর্ঘ্য ফেরত দেয় (অর্থাৎ, স্ট্রিংয়ের মধ্যে কতটি অক্ষর রয়েছে)।substring()
মেথডটি স্ট্রিংয়ের নির্দিষ্ট অংশ বের করার জন্য ব্যবহৃত হয়। এটি একটি স্ট্রিংয়ের মধ্যে শুরু এবং শেষ সূচকের মধ্যে থাকা অক্ষরগুলি রিটার্ন করে।এই তিনটি অপারেশন Java তে স্ট্রিং ম্যানিপুলেশনের জন্য অত্যন্ত সাধারণ এবং গুরুত্বপূর্ণ।
Java তে String comparison করতে দুটি সাধারণ মেথড রয়েছে: equals()
এবং compareTo()
. এই দুটি মেথড ব্যবহার করে আপনি দুটি স্ট্রিংয়ের মধ্যে সমতা (equality) এবং তুলনা (ordering) পরীক্ষা করতে পারেন। নিচে String comparison এর জন্য দুটি মেথডের ব্যবহারের উদাহরণ দেয়া হলো।
equals()
মেথডটি দুটি স্ট্রিংয়ের মানের তুলনা করে। এটি case-sensitive তুলনা করে, অর্থাৎ বড় হাতের এবং ছোট হাতের অক্ষরকে আলাদা ভাবে দেখে।
public class StringComparisonExample {
public static void main(String[] args) {
String str1 = "Java";
String str2 = "java";
String str3 = "Java";
// equals() method is case-sensitive
System.out.println("str1 equals str2: " + str1.equals(str2)); // false
System.out.println("str1 equals str3: " + str1.equals(str3)); // true
}
}
str1.equals(str2)
→ এখানে, "Java"
এবং "java"
এর মধ্যে পার্থক্য রয়েছে (case-sensitive), তাই এটি false
রিটার্ন করবে।str1.equals(str3)
→ এখানে "Java"
এবং "Java"
দুটি স্ট্রিংয়ের মধ্যে কোন পার্থক্য নেই, তাই এটি true
রিটার্ন করবে।compareTo()
মেথডটি দুটি স্ট্রিংয়ের lexicographical (alphabetical) তুলনা করে এবং integer value ফেরত দেয়:
public class CompareToExample {
public static void main(String[] args) {
String str1 = "Apple";
String str2 = "Banana";
String str3 = "Apple";
// compareTo() method performs lexicographical comparison
System.out.println("str1 compareTo str2: " + str1.compareTo(str2)); // negative value
System.out.println("str1 compareTo str3: " + str1.compareTo(str3)); // 0
System.out.println("str2 compareTo str1: " + str2.compareTo(str1)); // positive value
}
}
str1.compareTo(str2)
→ "Apple"
এবং "Banana"
এর মধ্যে lexicographical তুলনা করা হয়। যেহেতু "Apple" "Banana" এর চেয়ে ছোট (alphabetically first), এটি একটি negative value (যেমন -1) রিটার্ন করবে।str1.compareTo(str3)
→ "Apple"
এবং "Apple"
দুটি স্ট্রিং একসমান, তাই এটি 0 রিটার্ন করবে।str2.compareTo(str1)
→ "Banana"
এবং "Apple"
এর মধ্যে lexicographical তুলনা, যেহেতু "Banana" "Apple" এর চেয়ে বড়, তাই এটি একটি positive value (যেমন 1) রিটার্ন করবে।যদি আপনি স্ট্রিংয়ের তুলনা করতে চান এবং ক্যাসে (case) ভিন্নতা উপেক্ষা করতে চান, তবে equalsIgnoreCase()
এবং compareToIgnoreCase()
মেথড ব্যবহার করতে পারেন।
public class CaseInsensitiveExample {
public static void main(String[] args) {
String str1 = "java";
String str2 = "Java";
// equalsIgnoreCase() method is case-insensitive
System.out.println("str1 equalsIgnoreCase str2: " + str1.equalsIgnoreCase(str2)); // true
// compareToIgnoreCase() method is case-insensitive
System.out.println("str1 compareToIgnoreCase str2: " + str1.compareToIgnoreCase(str2)); // 0
}
}
str1.equalsIgnoreCase(str2)
→ এখানে equalsIgnoreCase()
মেথডটি স্ট্রিংয়ের ক্যাসে ভিন্নতা উপেক্ষা করে তুলনা করবে এবং true রিটার্ন করবে।str1.compareToIgnoreCase(str2)
→ এখানে compareToIgnoreCase()
মেথডটি ক্যাসে ভিন্নতা উপেক্ষা করে lexicographical তুলনা করবে এবং 0 রিটার্ন করবে, কারণ স্ট্রিং দুটি সমান।Method | Description | Example Output |
---|---|---|
equals(String other) | Compares two strings for equality (case-sensitive). | true or false |
compareTo(String other) | Compares two strings lexicographically (case-sensitive). | Positive, negative, or 0 |
equalsIgnoreCase(String other) | Compares two strings for equality (case-insensitive). | true or false |
compareToIgnoreCase(String other) | Compares two strings lexicographically (case-insensitive). | Positive, negative, or 0 |
equals()
মেথডটি case-sensitive স্ট্রিং তুলনা করে এবং compareTo()
মেথডটি স্ট্রিংগুলির lexicographical order পরীক্ষা করে।equalsIgnoreCase()
এবং compareToIgnoreCase()
মেথডগুলো case-insensitive তুলনা করতে ব্যবহৃত হয়।Java StringBuffer এবং StringBuilder দুটি ক্লাস, যা mutable strings তৈরি করতে ব্যবহৃত হয়। মানে, আপনি একে পরিবর্তন (modify) করতে পারেন। সাধারণভাবে, String ক্লাস একটি immutable ক্লাস, যার মানে হল যে একবার একটি String অবজেক্ট তৈরি হলে, সেটির মান পরিবর্তন করা সম্ভব নয়। কিন্তু StringBuffer এবং StringBuilder এর মাধ্যমে আপনি একটি স্ট্রিংয়ের মান পরিবর্তন করতে পারেন। তারা অনেক কার্যকরী যখন বার বার স্ট্রিং পরিবর্তন করা হয়, কারণ এতে memory overhead কম থাকে এবং কার্যকারিতা বেশি হয়।
public class StringBufferExample {
public static void main(String[] args) {
// StringBuffer ব্যবহার
StringBuffer sb = new StringBuffer("Hello");
// StringBuffer এ কিছু পরিবর্তন করা
sb.append(" World!"); // স্ট্রিং এর শেষে নতুন টেক্সট যোগ করা
System.out.println("After append: " + sb);
sb.insert(5, ","); // স্ট্রিং এর মধ্যে কমা ইনসার্ট করা
System.out.println("After insert: " + sb);
sb.replace(6, 11, "Java"); // 6 থেকে 11 পর্যন্ত অংশ বদলে "Java" সেট করা
System.out.println("After replace: " + sb);
sb.delete(5, 6); // কমা মুছে ফেলা
System.out.println("After delete: " + sb);
sb.reverse(); // স্ট্রিংটি উল্টানো
System.out.println("After reverse: " + sb);
}
}
Output:
After append: Hello World!
After insert: Hello, World!
After replace: Hello, Java!
After delete: Hello Java!
After reverse: !avaJ olleH
public class StringBuilderExample {
public static void main(String[] args) {
// StringBuilder ব্যবহার
StringBuilder sb = new StringBuilder("Good");
// StringBuilder এ কিছু পরিবর্তন করা
sb.append(" Morning!"); // স্ট্রিং এর শেষে নতুন টেক্সট যোগ করা
System.out.println("After append: " + sb);
sb.insert(4, ","); // স্ট্রিং এর মধ্যে কমা ইনসার্ট করা
System.out.println("After insert: " + sb);
sb.replace(5, 9, "Evening"); // 5 থেকে 9 পর্যন্ত অংশ বদলে "Evening" সেট করা
System.out.println("After replace: " + sb);
sb.delete(4, 5); // কমা মুছে ফেলা
System.out.println("After delete: " + sb);
sb.reverse(); // স্ট্রিংটি উল্টানো
System.out.println("After reverse: " + sb);
}
}
Output:
After append: Good Morning!
After insert: Good, Morning!
After replace: Good, Evening!
After delete: Good Evening!
After reverse: !gninE dooG
StringBuilder
এ টেক্সট যোগ করার জন্য ব্যবহৃত হয়।StringBuffer
অবজেক্টে অ্যাক্সেস করতে পারে, তবে StringBuffer ব্যবহার করুন।StringBuffer
থ্রেড-সেফ, কিন্তু StringBuilder কম সময়ে কার্যকরী, বিশেষত একক থ্রেডের জন্য।Palindrome String একটি স্ট্রিং যা সামনে থেকে পড়লে এবং পিছন থেকে পড়লেও একই থাকে। যেমন "madam", "racecar" ইত্যাদি।
Java তে একটি স্ট্রিং প্যালিনড্রোম কিনা তা যাচাই করতে আমরা বেশ কয়েকটি পদ্ধতি ব্যবহার করতে পারি। নিচে কয়েকটি উদাহরণ দেয়া হলো যেগুলি দিয়ে একটি স্ট্রিং প্যালিনড্রোম কিনা তা যাচাই করা যেতে পারে।
এখানে StringBuilder
এর reverse()
মেথড ব্যবহার করা হয়েছে। আমরা স্ট্রিংটি উল্টানো এবং মূল স্ট্রিংয়ের সাথে তুলনা করছি।
public class PalindromeExample {
public static void main(String[] args) {
String str = "madam"; // স্ট্রিংটি চেক করতে হবে
// StringBuilder ব্যবহার করে প্যালিনড্রোম চেক করা
StringBuilder reversedStr = new StringBuilder(str);
reversedStr.reverse(); // স্ট্রিংটি উল্টানো
if (str.equals(reversedStr.toString())) {
System.out.println(str + " is a Palindrome.");
} else {
System.out.println(str + " is not a Palindrome.");
}
}
}
Output:
madam is a Palindrome.
StringBuilder
এর reverse()
মেথড ব্যবহার করা হয়েছে।এখানে একটি লুপ ব্যবহার করে স্ট্রিংয়ের প্রথম এবং শেষ অক্ষর তুলনা করা হচ্ছে। যদি সব অক্ষর মিলিত হয়, তবে এটি প্যালিনড্রোম হবে।
public class PalindromeExample {
public static void main(String[] args) {
String str = "racecar"; // স্ট্রিংটি চেক করতে হবে
boolean isPalindrome = true; // প্যালিনড্রোম কিনা তা ট্র্যাক করা
int left = 0; // প্রথম অক্ষর
int right = str.length() - 1; // শেষ অক্ষর
// স্ট্রিংয়ের প্রথম এবং শেষ অক্ষর তুলনা
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
isPalindrome = false;
break;
}
left++;
right--;
}
if (isPalindrome) {
System.out.println(str + " is a Palindrome.");
} else {
System.out.println(str + " is not a Palindrome.");
}
}
}
Output:
racecar is a Palindrome.
একটি রিকর্শনাল পদ্ধতি ব্যবহার করে স্ট্রিং প্যালিনড্রোম কিনা তা যাচাই করা।
public class PalindromeExample {
public static void main(String[] args) {
String str = "madam";
if (isPalindrome(str, 0, str.length() - 1)) {
System.out.println(str + " is a Palindrome.");
} else {
System.out.println(str + " is not a Palindrome.");
}
}
// Recursion method to check palindrome
public static boolean isPalindrome(String str, int left, int right) {
if (left >= right) {
return true;
}
if (str.charAt(left) != str.charAt(right)) {
return false;
}
return isPalindrome(str, left + 1, right - 1);
}
}
Output:
madam is a Palindrome.
isPalindrome()
ফাংশনটি স্ট্রিংয়ের প্রথম এবং শেষ অক্ষর তুলনা করে, যদি তারা সমান হয়, তাহলে এটি পরবর্তী চরিত্রগুলো চেক করতে রিকর্শন কল করে।left
এবং right
ইন্ডেক্স একে অপরকে অতিক্রম করে (অথবা সমান হয়), তখন এটি সত্য মানে ফিরে আসে, যা প্যালিনড্রোম হওয়া প্রমাণ করে।একটি স্ট্যাক ব্যবহার করে প্যালিনড্রোম চেক করা।
import java.util.Stack;
public class PalindromeExample {
public static void main(String[] args) {
String str = "level";
if (isPalindromeUsingStack(str)) {
System.out.println(str + " is a Palindrome.");
} else {
System.out.println(str + " is not a Palindrome.");
}
}
// Using Stack to check palindrome
public static boolean isPalindromeUsingStack(String str) {
Stack<Character> stack = new Stack<>();
// Push all characters of string onto the stack
for (int i = 0; i < str.length(); i++) {
stack.push(str.charAt(i));
}
// Compare characters from stack with the string
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) != stack.pop()) {
return false;
}
}
return true;
}
}
Output:
level is a Palindrome.
Java String Reverse Example: String কে উল্টো করে দেখানোর জন্য Java তে বেশ কয়েকটি পদ্ধতি রয়েছে। এখানে আমরা কিছু জনপ্রিয় পদ্ধতির উদাহরণ দেখাবো যা দিয়ে একটি String কে উল্টো (reverse) করা যায়।
Java তে StringBuilder
এবং StringBuffer
ক্লাসে reverse()
মেথড রয়েছে, যা খুব সহজে একটি স্ট্রিংকে উল্টো করে দিতে পারে। এই পদ্ধতিটি সাধারণত mutability এর কারণে দ্রুত এবং কার্যকরী।
public class StringReverseExample {
public static void main(String[] args) {
String original = "Hello, World!";
// StringBuilder ব্যবহার করে String উল্টো করা
StringBuilder reversed = new StringBuilder(original);
reversed.reverse();
System.out.println("Original String: " + original);
System.out.println("Reversed String: " + reversed);
}
}
Output:
Original String: Hello, World!
Reversed String: !dlroW ,olleH
Explanation:
StringBuilder
ক্লাসের reverse()
মেথড ব্যবহার করা হয়েছে, যা original
স্ট্রিংটি উল্টো করে নতুন StringBuilder
অবজেক্টে স্টোর করে।আপনি একটি সাধারণ for
লুপ ব্যবহার করে স্ট্রিংয়ের প্রতিটি চরিত্রকে উল্টো অবস্থানে বসিয়ে একটি নতুন স্ট্রিং তৈরি করতে পারেন।
public class StringReverseExample {
public static void main(String[] args) {
String original = "Hello, World!";
String reversed = "";
// String কে উল্টো করার জন্য for loop ব্যবহার
for (int i = original.length() - 1; i >= 0; i--) {
reversed += original.charAt(i);
}
System.out.println("Original String: " + original);
System.out.println("Reversed String: " + reversed);
}
}
Output:
Original String: Hello, World!
Reversed String: !dlroW ,olleH
Explanation:
original.length() - 1
থেকে শুরু করে, প্রতিটি অক্ষরকে উল্টো করে reversed
স্ট্রিংয়ে অ্যাড করা হয়েছে।এখানে আমরা recursion ব্যবহার করে স্ট্রিংটিকে উল্টো করে দেখানোর একটি পদ্ধতি দেখবো।
public class StringReverseExample {
public static void main(String[] args) {
String original = "Hello, World!";
// Recursion দিয়ে String উল্টো করা
String reversed = reverseString(original);
System.out.println("Original String: " + original);
System.out.println("Reversed String: " + reversed);
}
// Recursion function to reverse a string
public static String reverseString(String str) {
if (str.isEmpty()) {
return str; // Base case: if string is empty, return it
} else {
return reverseString(str.substring(1)) + str.charAt(0); // Recursive case
}
}
}
Output:
Original String: Hello, World!
Reversed String: !dlroW ,olleH
Explanation:
reverseString()
মেথডে রিকর্সিভলি স্ট্রিংয়ের প্রথম অক্ষর বাদ দিয়ে বাকি অংশের উপর reverseString()
কল করা হচ্ছে। শেষে প্রথম অক্ষরটি যোগ করে পূর্ণ স্ট্রিংটি উল্টো হয়ে যাচ্ছে।Java 8 এর Streams API ব্যবহার করে স্ট্রিংকে উল্টো করা সম্ভব। এখানে String
কে Stream
এ পরিণত করে উল্টো করা হবে।
import java.util.stream.*;
public class StringReverseExample {
public static void main(String[] args) {
String original = "Hello, World!";
// Java 8 Stream ব্যবহার করে String উল্টো করা
String reversed = new StringBuilder(original)
.reverse()
.toString();
System.out.println("Original String: " + original);
System.out.println("Reversed String: " + reversed);
}
}
Output:
Original String: Hello, World!
Reversed String: !dlroW ,olleH
Explanation:
reverse()
মেথড ব্যবহার করেছি যেটি Java 8 এ খুবই সুবিধাজনক।Java তে একটি String কে উল্টো (reverse) করার জন্য বিভিন্ন পদ্ধতি রয়েছে। এখানে StringBuilder, for loop, recursion এবং Streams API ব্যবহারের মাধ্যমে স্ট্রিং উল্টো করার উদাহরণ দেওয়া হয়েছে।
এভাবে আপনি যে কোন স্ট্রিং উল্টো করার জন্য উপযুক্ত পদ্ধতি নির্বাচন করতে পারেন।
Read more