CodeGym /مدونة جافا /Random-AR /مصفوفة السلسلة في جافا
John Squirrels
مستوى
San Francisco

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

نشرت في المجموعة
غالبًا ما تكون أول بنية بيانات يتعرف عليها المبرمج المبتدئ هي المصفوفة. وذلك لأن المصفوفات سهلة التعلم إلى حد ما. المصفوفة أحادية البعد هي تسلسل يتكون من عدد ثابت من الخلايا التي يمكن تخزين البيانات فيها. في حالة لغة Java، يمكنك تخزين نوع واحد فقط من البيانات في مصفوفة. وبعبارة أخرى، المصفوفات في جافا متجانسة. يمكن أن تحتوي خلايا المصفوفة على كائنات من أي نوع. يمكنك وضع كائنات من أي نوع، بدائية أو كائن، في مصفوفة. اليوم سوف نلقي نظرة على مصفوفات السلسلة في لغة جافا، أي المصفوفات، كل عنصر منها عبارة عن سلسلة. سنكتشف كيفية الإعلان عن Java String Array وكيفية العمل معه.

كيفية الإعلان عن مصفوفة السلسلة وتهيئتها

يمكنك الإعلان عن مصفوفة سلسلة وتهيئتها في Java بطرق مختلفة. على سبيل المثال كما في الكود أدناه:
String[] myArray = {"value1", "value2", "value3"};
هنا نعلن أولاً عن متغير myArray من النوع String[] . ثم لاحقًا، نقوم بتهيئة المصفوفة بثلاث قيم سلسلة محاطة بأقواس متعرجة. بدلًا من ذلك، يمكنك الحصول على تعريف مصفوفة السلسلة وتهيئتها في أسطر منفصلة:
String[] myArray; // String array declaration
myArray = new String[] {"value1", "value2", "value3"}; // initialize the array
لدينا هنا نفس نتيجة مقتطف الكود الأول ولكننا نفصل الإعلان والتهيئة إلى خطوتين. يمكنك أيضًا تهيئة مصفوفة بالحجم فقط، تمامًا كما هو موضح أدناه:
String[] myArray = new String[5];
هنا تقوم بإنشاء مصفوفة سلسلة وتحديد حجم مصفوفة السلسلة ، لكنك لا تقدم أي قيم أولية. يمكنك بعد ذلك تعيين قيم للمصفوفة باستخدام حلقة أو عن طريق تحديد القيم بشكل فردي. لاحظ أنه في جميع الحالات، عليك تحديد نوع المصفوفة (في هذه الحالة، String ) أثناء الإعلان عن المتغير.

كيفية التكرار من خلال مجموعة السلسلة

في Java، يمكنك التكرار عبر مصفوفة سلسلة باستخدام حلقة. يمكن أن يكون من أجل أو البناء foreach. لنأخذ مثالًا يستخدم كلا النوعين من الحلقات:
public class IterateStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Using a for loop
        for (int i = 0; i < stringArray.length; i++) {
            String s = stringArray[i];
            System.out.print(s + " ");
        }
        System.out.println();

        // Using a foreach loop
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
        System.out.println();
    }
}
هنا نقوم أولاً بإنشاء مصفوفة سلسلة تسمى stringArray مع أربعة عناصر (سلسلة الآلات الموسيقية). بعد ذلك، تتكرر كلتا الحلقتين خلال كل عنصر من عناصر مصفوفة السلسلة وتطبعهما على وحدة التحكم. تعد حلقة foreach طريقة أكثر إيجازًا للتكرار عبر المصفوفة، لكن يمكن أن تكون حلقة for مفيدة إذا كنت بحاجة إلى الوصول إلى فهرس كل عنصر. مخرجات هذا البرنامج ستكون:
كمان فيولا التشيلو كمان الكمان التشيلو الكمان الكمان

كيفية إضافة عنصر جديد إلى Array

لا يمكنك فقط إضافة عنصر جديد إلى مصفوفة في Java. لكن جافا لديها حيل خاصة لذلك. إذا كان لديك مصفوفة من السلاسل وتحتاج إلى إضافة سلسلة جديدة إلى نهاية المصفوفة، فاستخدم التابع Arrays.copyOf . تقوم هذه الطريقة بإنشاء مصفوفة جديدة تحتوي على عنصر إضافي واحد، ثم تقوم بإضافة العنصر الجديد إلى نهاية المصفوفة الجديدة. هنا مثال:
//add string Array and a new element
String[] oldArray = {"violin", "viola", "cello"};
String newElement = "double bass";
String[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
newArray[newArray.length - 1] = newElement;
هنا يقوم الأسلوب Arrays.copyOf بإنشاء مصفوفة جديدة تسمى newArray بطول أكبر من oldArray بمقدار واحد. تضيف الطريقة newElement إلى نهاية newArray عن طريق تعيينه للعنصر الأخير في newArray . المصفوفات في Java لها طول ثابت، لذا لا يمكنك إضافة أو إزالة عناصر من مصفوفة بمجرد إنشائها. لإضافة عناصر من مجموعة أو إزالتها ديناميكيًا، من الأفضل استخدام بنية بيانات أخرى. على سبيل المثال، قائمة أو خريطة .

كيفية فرز العناصر في سلسلة صفيف

بالتأكيد، إذا كنت مهتمًا بتمارين البرمجة الجيدة، فيمكنك كتابة خوارزمية الفرز الخاصة بك لإجراء الفرز. ومع ذلك، في مهام العمل الحقيقية، من الأسهل كثيرًا استخدام طريقة Arrays.sort() . هنا مثال:
import java.util.Arrays;

public class SortStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Sorting the array
        Arrays.sort(stringArray);

        // Printing the sorted array
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
    }
}
هنا نقوم أولاً بإنشاء مصفوفة سلسلة تسمى stringArray مع أربعة عناصر. نستدعي بعد ذلك الأسلوب Arrays.sort() لفرز العناصر الموجودة في المصفوفة بترتيب تصاعدي. أخيرًا، نكرر المصفوفة التي تم فرزها باستخدام حلقة for-each ونطبع كل عنصر على وحدة التحكم. مخرجات هذا البرنامج هي التالية:
التشيلو كمان مزدوج الجهير
كما ترى، قامت الطريقة بفرز العناصر في stringArray أبجديًا.

كيفية البحث عن سلسلة معينة في صفيف السلسلة

للبحث عن سلسلة مطلوبة في مصفوفة سلسلة في Java، يمكنك استخدام حلقة للتكرار خلال كل عنصر من عناصر المصفوفة ومقارنتها بالسلسلة التي تبحث عنها. وهنا برنامج مثال:
public class SearchString {

       public static void main(String[] args) {
           String[] stringArray = {"violin", "viola", "cello", "double bass"};
           String searchString1 = "cello";
           String searchString2 = "piano";
           search(stringArray, searchString1);
           search(stringArray, searchString2);

       }
          public static boolean search (String[] myArray, String myString){

           boolean found = false;

           // Loop through the array to search for the string
           for (String s : myArray) {
               if (s.equals(myString)) {
                   found = true;
                   break;
               }
           }

           // Print the result
           if (found) {
               System.out.println(myString + " found in the array.");
           } else {
               System.out.println(myString + " not found in the array.");
           } return found;
       }
}
نحن هنا نقوم بإنشاء طريقة تحتوي على وسيطتين، مصفوفة وسلسلة يمكن العثور عليها. نقوم بإنشاء "تم العثور عليه" منطقيًا لتتبع ما إذا كنا قد عثرنا على السلسلة أم لا . إنها القيمة التي تم العثور عليها والتي ستعيدها الطريقة. نستخدم بعد ذلك حلقة for-each للتكرار على كل عنصر من عناصر المصفوفة. نستخدم طريقة يساوي () في الحلقة لمقارنة العنصر الحالي بسلسلة البحث. إذا وجدت الطريقة تطابقًا، فإننا نضبطه على صواب ونستخدم عبارة Break للخروج من الحلقة مبكرًا. وأخيرا، نقوم بطباعة النتيجة اعتمادا على ما إذا كان ما تم العثور عليه صحيحا أم خطأ. في الطريقة الرئيسية ، نستدعي طريقة البحث مرتين، بالسلسلة الموجودة في المصفوفة والسلسلة غير الموجودة فيها. مخرجات هذا البرنامج هي التالية:
التشيلو الموجود في المصفوفة. لم يتم العثور على البيانو في المصفوفة.

كيفية تحويل صفيف سلسلة إلى سلسلة

يمكنك استخدام طريقة String.join() لتحويل مصفوفة سلسلة إلى سلسلة في Java. تقوم هذه الطريقة بإرجاع سلسلة متسلسلة بواسطة المحدد المحدد. يتم نسخ المحدد لكل عنصر في طريقة String join() . هنا مثال:
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
الإخراج هو ما يلي:
القيمة 1، القيمة 2، القيمة 3
أولاً، نعلن عن مصفوفة سلسلة myArray بثلاث قيم سلسلة. نستخدم بعد ذلك طريقة String.join() لضم جميع عناصر المصفوفة في سلسلة واحدة. الوسيطة الأولى لـ String.join() هي المحدد الذي تريد استخدامه بين كل عنصر من عناصر المصفوفة. لقد استخدمنا "،" (فاصلة متبوعة بمسافة) كمحدد. الوسيطة الثانية هي المصفوفة التي تريد الانضمام إليها. أخيرًا، نقوم بتعيين السلسلة الناتجة إلى المتغير joinString وطباعتها على وحدة التحكم.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION