logo

مصفوفة السلسلة في جافا

المصفوفة هي بنية البيانات الأساسية والأكثر استخدامًا في جافا . إنها واحدة من هياكل البيانات الأكثر استخدامًا من قبل المبرمجين نظرًا لطبيعتها الفعالة والإنتاجية؛ المصفوفة عبارة عن مجموعة من عناصر نوع البيانات المتشابهة. ويستخدم موقع ذاكرة متجاور لتخزين العناصر.

مصفوفة السلسلة عبارة عن مصفوفة مكونة من عدد ثابت من قيم السلسلة . السلسلة عبارة عن سلسلة من الأحرف. بشكل عام، السلسلة هي كائن غير قابل للتغيير، مما يعني أنه لا يمكن تغيير قيمة السلسلة. يعمل String Array بشكل مشابه لأنواع البيانات الأخرى في Array.

في مجموعة مصفوفة ، يمكن تخزين مجموعة ثابتة فقط من العناصر. إنها بنية بيانات قائمة على الفهرس، والتي تبدأ من 0ذموضع. العنصر الأول سيحدث في الفهرس 0، و2اختصار الثانيسيحدث العنصر في الفهرس 1، وهكذا.

الطريقة الرئيسية {Public static void main[ String [] args]؛ } في Java هو أيضًا مصفوفة سلسلة.

ضع في اعتبارك النقاط التالية حول مصفوفة السلسلة:

  • إنه كائن من المصفوفة.
  • ويمكن الإعلان عن ذلك بالطريقتين؛ بتحديد الحجم أو بدون تحديد الحجم.
  • يمكن تهيئته إما في وقت الإعلان أو عن طريق ملء القيم بعد الإعلان.
  • يمكن إضافة العناصر إلى مصفوفة السلسلة بعد الإعلان عنها.
  • يمكن تكرار مصفوفة السلسلة باستخدام حلقة for.
  • يمكن إجراء عملية البحث والفرز على String Array.

تصريح:

تعريف المصفوفة هو من نوعين، إما أن نحدد حجم المصفوفة أو بدون تحديد حجم المصفوفة. يمكن الإعلان عن مصفوفة السلسلة على النحو التالي:

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

هناك طريقة أخرى للإعلان عن المصفوفة سلسلة 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 استثناء.

دعونا نرى مثالاً على String Array لتوضيح سلوكه:

تكرار صفيف السلسلة

يمكن تكرار مصفوفة السلسلة باستخدام حلقة 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 عبارة عن بنية بيانات رائعة لـ إطار جمع جافا . يمكننا بسهولة إضافة عناصر إلى ملف خيط صفيف باستخدام ArrayList كبنية بيانات وسيطة.

خذ بعين الاعتبار المثال التالي لفهم كيفية إضافة عناصر إلى String Array باستخدام 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. خذ بعين الاعتبار المثال أدناه:

 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 ومتغير فهرس للتكرار عبر السلسلة. لقد أعلنا أيضًا عن متغير سلسلة محلي س ليتم البحث فيها. هنا، ستخرج الكلمة الأساسية من الحلقة بمجرد العثور على السلسلة.

الفرز في صفيف السلسلة

الفرز في مصفوفة السلسلة سهل للغاية. يتم تنفيذه كما هو الحال في المصفوفة التقليدية. نستخدم طريقة الفرز () لفرز عناصر المصفوفة. الفرز أسهل من البحث.

النظر في المثال أدناه ل فرز صفيف سلسلة :

 //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] 

من المثال أعلاه، يمكننا أن نرى أن العناصر من مصفوفة السلسلة تم فرزها باستخدام طريقة الفرز ().

يمكننا أيضًا تحويل String Array إلى هياكل بيانات أخرى مثل List وint Array وArrayList والمزيد والعكس صحيح.