logo

מערך מחרוזות ב-Java

מערך הוא מבנה נתונים חיוני והנפוץ ביותר בו Java . זהו אחד ממבנה הנתונים הנפוצים ביותר על ידי מתכנתים בשל אופיו היעיל והפרודוקטיבי; המערך הוא אוסף של אלמנטים מסוג נתונים דומים. הוא משתמש במיקום זיכרון רציף כדי לאחסן את האלמנטים.

רשימה של גופנים ב-gimp

מערך מחרוזת הוא מערך של מספר קבוע של ערכי מחרוזת . מחרוזת היא רצף של תווים. בדרך כלל, מחרוזת היא אובייקט בלתי ניתן לשינוי, מה שאומר שלא ניתן לשנות את הערך של המחרוזת. מערך המחרוזות פועל באופן דומה לסוגי נתונים אחרים של מערך.

ב מַעֲרָך , ניתן לאחסן רק סט קבוע של אלמנטים. זהו מבנה נתונים מבוסס אינדקס, שמתחיל מה-0ה'עמדה. האלמנט הראשון יתקיים באינדקס 0, וה-2נדאלמנט יתקיים באינדקס 1, וכן הלאה.

השיטה העיקרית {Public static void main[ String [] args]; } ב-Java הוא גם מערך מחרוזות.

שקול את הנקודות שלהלן לגבי מערך המחרוזות:

  • זה אובייקט של המערך.
  • ניתן להכריז על כך בשתי השיטות; על ידי ציון המידה או בלי לציין את המידה.
  • ניתן לאתחל אותו בזמן ההכרזה או על ידי איכלוס הערכים לאחר ההכרזה.
  • ניתן להוסיף את האלמנטים למערך מחרוזות לאחר ההכרזה עליו.
  • ניתן לבצע איטרציה של מערך המחרוזות באמצעות לולאת for.
  • ניתן לבצע את פעולת החיפוש והמיון במערך ה-String.

הַצהָרָה:

הצהרת המערך היא משני סוגים, או שנוכל לציין את גודל המערך או מבלי לציין את גודל המערך. ניתן להכריז על מערך מחרוזות באופן הבא:

 String[] stringArray1 //Declaration of the String Array without specifying the size String[] stringArray2 = new String[2]; //Declarartion by specifying the size 

דרך נוספת להכריז על המערך היא String strArray[] , אך השיטות שצוינו לעיל יעילות ומומלצות יותר.

אִתחוּל:

ניתן לאתחל את מערך המחרוזות בקלות. להלן האתחול של מערך המחרוזות:

 1. String[] strAr1=new String[] {'Ani', 'Sam', 'Joe'}; //inline initialization 2. String[] strAr2 = {'Ani', 'Sam', ' Joe'}; 3. String[] strAr3= new String[3]; //Initialization after declaration with specific size strAr3[0]= 'Ani'; strAr3[1]= 'Sam'; strAr3[2]= 'Joe'; 

כל שלוש הדרכים הנ'ל משמשות לאתחול מערך המחרוזות ובעלות אותו ערך.

סוגי למידת מכונה

ה-3מחקר ופיתוחהשיטה היא שיטת גודל ספציפי. בכך, ניתן למצוא את ערך המדד באמצעות ( אורך מערך - 1 ) נוסחה אם ברצוננו לגשת לאלמנטים יותר מהאינדקס 2 במערך הנ'ל. זה יזרוק את Java.lang.ArrayIndexOutOfBoundsException יוצא מן הכלל.

בוא נראה דוגמה של מערך מחרוזות כדי להדגים את התנהגותו:

איטרציה של מערך מחרוזות

ניתן לבצע איטרציה של מערך המחרוזות באמצעות הלולאה for ו-foreach. שקול את הקוד שלהלן:

 String[] strAr = {&apos;Ani&apos;, &apos;Sam&apos;, &apos;Joe&apos;}; for (int i=0; i<strar.length; i++) { system.out.println(strar[i]); } for ( string str: strar) sytem.out.println(str); < pre> <h2>Adding Elements to a String Array</h2> <p>We can easily add the elements to the String Array just like other data types. It can be done using the following three methods:</p> <ul> <tr><td>Using Pre-Allocation of the Array</td>  </tr><tr><td>Using the Array List</td>  </tr><tr><td>By creating a new Array</td>  </tr></ul> <p>let&apos;s understand the above methods:</p> <h3>Using Pre-Allocation of the Array:</h3> <p>In this method, we already have an Array of larger size. For example, if we require to store the 10 elements, then we will create an Array of size 20. It is the easiest way to expand the Array elements.</p> <p>Consider the below example to add elements in a pre-allocated array.</p> <pre> // Java Program to add elements in a pre-allocated Array import java.util.Arrays; public class StringArrayDemo { public static void main(String[] args) { String[] sa = new String[7]; // Creating a new Array of Size 7 sa[0] = &apos;A&apos;; // Adding Array elements sa[1] = &apos;B&apos;; sa[2] = &apos;C&apos;; sa[3] = &apos;D&apos;; sa[4] = &apos;E&apos;; System.out.println(&apos;Original Array Elements:&apos; + Arrays.toString(sa)); int numberOfItems = 5; String newItem = &apos;F&apos;; // Expanding Array Elements Later String newItem2 =&apos;G&apos;; sa[numberOfItems++] = newItem; sa[numberOfItems++] = newItem2; System.out.println(&apos;Array after adding two elements:&apos; + Arrays.toString(sa)); } } </pre> <p> <strong>Output:</strong> </p> <pre> Original Array Elements:[A, B, C, D, E, null, null] Array after adding two elements:[A, B, C, D, E, F, G] </pre> <p>From the above example, we have added two elements in a pre-allocated Array.</p> <h3>Using ArrayList:</h3> <p>The <a href="/java-arraylist">ArrayList</a> is a fascinating data structure of the <a href="/collections-java">Java collection framework</a> . We can easily add elements to a <a href="/java-string">String</a> Array using an ArrayList as an intermediate data structure.</p> <p>Consider the below example to understand how to add elements to a String Array using ArrayList :</p> <pre> import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class StringArrayDemo1 { public static void main(String[] args) { // Defining a String Array String sa[] = { &apos;A&apos;, &apos;B&apos;, &apos;C&apos;, &apos;D&apos;, &apos;E&apos;, &apos;F&apos; }; // System.out.println(&apos;Initial Array:
&apos; + Arrays.toString(sa)); String ne = &apos;G&apos;; // Define new element to add Listl = new ArrayList( Arrays.asList(sa)); // Convert Array to ArrayList l.add(ne); // Add new element in ArrayList l sa = l.toArray(sa); // Revert Conversion from ArrayList to Array // printing the new Array System.out.println(&apos;Array with added Value: 
&apos; + Arrays.toString(sa)) ; } } </pre> <p> <strong>Output:</strong> </p> <pre> Initial Array: [A, B, C, D, E, F] Array with added value: [A, B, C, D, E, F, G] </pre> <h3>By Creating a New Array:</h3> <p>In this method, we will create a new Array with a larger size than the initial Array and accommodate the elements in it. We will copy all the elements to the newly added Array.</p> <p>Consider the below example:</p> <pre> // Java Program to add elements in a String Array by creating a new Array import java.util.Arrays; public class StringArrayDemo2 { public static void main(String[] args) { //Declaring Initial Array String[] sa = {&apos;A&apos;, &apos;B&apos;, &apos;C&apos; }; // Printing the Original Array System.out.println(&apos;Initial Array: &apos; + Arrays.toString(sa)); int length_Var = sa.length; //Defining the array length variable String newElement = &apos;D&apos;; // Defining new element to add //define new array with extended length String[] newArray = new String[ length_Var + 1 ]; //Adding all the elements to initial Array for (int i=0; i <sa.length; i++) { newarray[i]="sa" [i]; } specifying the position of added elements ( last) newarray[newarray.length- 1]="newElement;" make it original and print sa="newArray;" system.out.println('updated array: ' + arrays.tostring(sa)); < pre> <p> <strong>Output:</strong> </p> <pre> Initial Array: [A, B, C] updated Array: [A, B, C, D] </pre> <p>This is how we can add elements to a String Array. Let&apos;s understand how to search and sort elements in String Array.</p> <h2>Searching in String Array</h2> <p>For searching a String from the String Array, for loop is used. Consider the below example:</p> <pre> public class StringArrayExample { public static void main(String[] args) { String[] strArray = { &apos;Ani&apos;, &apos;Sam&apos;, &apos;Joe&apos; }; boolean x = false; //initializing x to false int in = 0; //declaration of index variable String s = &apos;Sam&apos;; // String to be searched // Iteration of the String Array for (int i = 0; i <strarray.length; i++) { if(s.equals(strarray[i])) in="i;" x="true;" break; } if(x) system.out.println(s +' string is found at index '+in); else not the array'); < pre> <p> <strong>Output:</strong> </p> <pre> Sam String is found at index 1 </pre> <p>In the above example, we have initialized a boolean variable <strong>x</strong> to false and an index variable to iterate through the string. Also, we have declared a local variable String variable <strong>s</strong> to be searched. Here, the break keyword will exit the loop as soon as the string is found.</p> <h2>Sorting in String Array</h2> <p>The sorting in the String array is quite easy. It is performed like in a traditional array. We use a sort() method to sort the Array elements. Sorting is easier than searching.</p> <p>Consider the below example to <a href="/how-sort-string-array-java">sort a String Array</a> :</p> <pre> //Java Program to sort elements in a String Array import java.util.Arrays; public class StringArraySorting { public static void main(String[] args) { // Adding String values String[] colors = {&apos;Cricket&apos;,&apos;Basketball&apos;,&apos;Football&apos;,&apos;Badminton&apos;,&apos;Tennis&apos;}; // Print Original values System.out.println(&apos;Entered Sports: &apos;+Arrays.toString(colors)); Arrays.sort(colors); // Sorting Elements // Print Sorted Values System.out.println(&apos;Sorted Sports: &apos;+Arrays.toString(colors)); } } </pre> <p> <strong>Output:</strong> </p> <pre> Entered Sports: [Cricket, Basketball, Football, Badminton, Tennis] Sorted Sports: [Badminton, Basketball, Cricket, Football, Tennis] </pre> <p>From the above example, we can see the elements from a String Array is sorted using the sort() method.</p> <p>We can also convert String Array to other data structures such as List, int Array, ArrayList, and more and vice-versa.</p> <hr></strarray.length;></pre></sa.length;></pre></strar.length;>

תְפוּקָה:

 Original Array Elements:[A, B, C, D, E, null, null] Array after adding two elements:[A, B, C, D, E, F, G] 

מהדוגמה לעיל, הוספנו שני אלמנטים במערך שהוקצה מראש.

שימוש ב-ArrayList:

ה רשימת מערך הוא מבנה נתונים מרתק של מסגרת אוסף Java . אנחנו יכולים בקלות להוסיף אלמנטים ל-a חוּט מערך באמצעות ArrayList כמבנה נתונים ביניים.

שקול את הדוגמה שלהלן כדי להבין כיצד להוסיף אלמנטים למערך מחרוזת באמצעות ArrayList:

 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class StringArrayDemo1 { public static void main(String[] args) { // Defining a String Array String sa[] = { &apos;A&apos;, &apos;B&apos;, &apos;C&apos;, &apos;D&apos;, &apos;E&apos;, &apos;F&apos; }; // System.out.println(&apos;Initial Array:
&apos; + Arrays.toString(sa)); String ne = &apos;G&apos;; // Define new element to add Listl = new ArrayList( Arrays.asList(sa)); // Convert Array to ArrayList l.add(ne); // Add new element in ArrayList l sa = l.toArray(sa); // Revert Conversion from ArrayList to Array // printing the new Array System.out.println(&apos;Array with added Value: 
&apos; + Arrays.toString(sa)) ; } } 

תְפוּקָה:

 Initial Array: [A, B, C, D, E, F] Array with added value: [A, B, C, D, E, F, G] 

על ידי יצירת מערך חדש:

בשיטה זו, ניצור מערך חדש בגודל גדול יותר מהמערך הראשוני ונתאים את האלמנטים שבו. נעתיק את כל האלמנטים למערך החדש שנוסף.

ההבדל בין נמר לאריה

שקול את הדוגמה הבאה:

 // Java Program to add elements in a String Array by creating a new Array import java.util.Arrays; public class StringArrayDemo2 { public static void main(String[] args) { //Declaring Initial Array String[] sa = {&apos;A&apos;, &apos;B&apos;, &apos;C&apos; }; // Printing the Original Array System.out.println(&apos;Initial Array: &apos; + Arrays.toString(sa)); int length_Var = sa.length; //Defining the array length variable String newElement = &apos;D&apos;; // Defining new element to add //define new array with extended length String[] newArray = new String[ length_Var + 1 ]; //Adding all the elements to initial Array for (int i=0; i <sa.length; i++) { newarray[i]="sa" [i]; } specifying the position of added elements ( last) newarray[newarray.length- 1]="newElement;" make it original and print sa="newArray;" system.out.println(\'updated array: \' + arrays.tostring(sa)); < pre> <p> <strong>Output:</strong> </p> <pre> Initial Array: [A, B, C] updated Array: [A, B, C, D] </pre> <p>This is how we can add elements to a String Array. Let&apos;s understand how to search and sort elements in String Array.</p> <h2>Searching in String Array</h2> <p>For searching a String from the String Array, for loop is used. Consider the below example:</p> <pre> public class StringArrayExample { public static void main(String[] args) { String[] strArray = { &apos;Ani&apos;, &apos;Sam&apos;, &apos;Joe&apos; }; boolean x = false; //initializing x to false int in = 0; //declaration of index variable String s = &apos;Sam&apos;; // String to be searched // Iteration of the String Array for (int i = 0; i <strarray.length; i++) { if(s.equals(strarray[i])) in="i;" x="true;" break; } if(x) system.out.println(s +\' string is found at index \'+in); else not the array\'); < pre> <p> <strong>Output:</strong> </p> <pre> Sam String is found at index 1 </pre> <p>In the above example, we have initialized a boolean variable <strong>x</strong> to false and an index variable to iterate through the string. Also, we have declared a local variable String variable <strong>s</strong> to be searched. Here, the break keyword will exit the loop as soon as the string is found.</p> <h2>Sorting in String Array</h2> <p>The sorting in the String array is quite easy. It is performed like in a traditional array. We use a sort() method to sort the Array elements. Sorting is easier than searching.</p> <p>Consider the below example to <a href="/how-sort-string-array-java">sort a String Array</a> :</p> <pre> //Java Program to sort elements in a String Array import java.util.Arrays; public class StringArraySorting { public static void main(String[] args) { // Adding String values String[] colors = {&apos;Cricket&apos;,&apos;Basketball&apos;,&apos;Football&apos;,&apos;Badminton&apos;,&apos;Tennis&apos;}; // Print Original values System.out.println(&apos;Entered Sports: &apos;+Arrays.toString(colors)); Arrays.sort(colors); // Sorting Elements // Print Sorted Values System.out.println(&apos;Sorted Sports: &apos;+Arrays.toString(colors)); } } </pre> <p> <strong>Output:</strong> </p> <pre> Entered Sports: [Cricket, Basketball, Football, Badminton, Tennis] Sorted Sports: [Badminton, Basketball, Cricket, Football, Tennis] </pre> <p>From the above example, we can see the elements from a String Array is sorted using the sort() method.</p> <p>We can also convert String Array to other data structures such as List, int Array, ArrayList, and more and vice-versa.</p> <hr></strarray.length;></pre></sa.length;>

כך נוכל להוסיף אלמנטים ל-String Array. בואו נבין כיצד לחפש ולמיין אלמנטים במערך מחרוזות.

חיפוש במערך מחרוזות

לחיפוש מחרוזת ממערך המחרוזות, נעשה שימוש ב-for loop. שקול את הדוגמה הבאה:

 public class StringArrayExample { public static void main(String[] args) { String[] strArray = { &apos;Ani&apos;, &apos;Sam&apos;, &apos;Joe&apos; }; boolean x = false; //initializing x to false int in = 0; //declaration of index variable String s = &apos;Sam&apos;; // String to be searched // Iteration of the String Array for (int i = 0; i <strarray.length; i++) { if(s.equals(strarray[i])) in="i;" x="true;" break; } if(x) system.out.println(s +\' string is found at index \'+in); else not the array\'); < pre> <p> <strong>Output:</strong> </p> <pre> Sam String is found at index 1 </pre> <p>In the above example, we have initialized a boolean variable <strong>x</strong> to false and an index variable to iterate through the string. Also, we have declared a local variable String variable <strong>s</strong> to be searched. Here, the break keyword will exit the loop as soon as the string is found.</p> <h2>Sorting in String Array</h2> <p>The sorting in the String array is quite easy. It is performed like in a traditional array. We use a sort() method to sort the Array elements. Sorting is easier than searching.</p> <p>Consider the below example to <a href="/how-sort-string-array-java">sort a String Array</a> :</p> <pre> //Java Program to sort elements in a String Array import java.util.Arrays; public class StringArraySorting { public static void main(String[] args) { // Adding String values String[] colors = {&apos;Cricket&apos;,&apos;Basketball&apos;,&apos;Football&apos;,&apos;Badminton&apos;,&apos;Tennis&apos;}; // Print Original values System.out.println(&apos;Entered Sports: &apos;+Arrays.toString(colors)); Arrays.sort(colors); // Sorting Elements // Print Sorted Values System.out.println(&apos;Sorted Sports: &apos;+Arrays.toString(colors)); } } </pre> <p> <strong>Output:</strong> </p> <pre> Entered Sports: [Cricket, Basketball, Football, Badminton, Tennis] Sorted Sports: [Badminton, Basketball, Cricket, Football, Tennis] </pre> <p>From the above example, we can see the elements from a String Array is sorted using the sort() method.</p> <p>We can also convert String Array to other data structures such as List, int Array, ArrayList, and more and vice-versa.</p> <hr></strarray.length;>

בדוגמה שלמעלה, אתחלנו משתנה בוליאני איקס ל-false ומשתנה אינדקס לחזרה דרך המחרוזת. כמו כן, הכרזנו על משתנה מקומי String משתנה ס שיחפשו. כאן, מילת המפתח הפסקה תצא מהלולאה ברגע שהמחרוזת תימצא.

מיון במערך מחרוזות

המיון במערך String הוא די קל. הוא מבוצע כמו במערך מסורתי. אנו משתמשים בשיטת sort() כדי למיין את רכיבי המערך. מיון קל יותר מאשר חיפוש.

שקול את הדוגמה שלהלן ל מיין מערך מחרוזות :

 //Java Program to sort elements in a String Array import java.util.Arrays; public class StringArraySorting { public static void main(String[] args) { // Adding String values String[] colors = {&apos;Cricket&apos;,&apos;Basketball&apos;,&apos;Football&apos;,&apos;Badminton&apos;,&apos;Tennis&apos;}; // Print Original values System.out.println(&apos;Entered Sports: &apos;+Arrays.toString(colors)); Arrays.sort(colors); // Sorting Elements // Print Sorted Values System.out.println(&apos;Sorted Sports: &apos;+Arrays.toString(colors)); } } 

תְפוּקָה:

 Entered Sports: [Cricket, Basketball, Football, Badminton, Tennis] Sorted Sports: [Badminton, Basketball, Cricket, Football, Tennis] 

מהדוגמה שלמעלה, אנו יכולים לראות את האלמנטים ממערך מחרוזת ממוינים בשיטת sort() .

אנו יכולים גם להמיר String Array למבני נתונים אחרים כגון List, int Array, ArrayList ועוד ולהיפך.