JavaRush /مدونة جافا /Random-AR /استراحة القهوة رقم 241. كيفية تحويل السلاسل إلى مصفوفات -...

استراحة القهوة رقم 241. كيفية تحويل السلاسل إلى مصفوفات - دليل تفصيلي

نشرت في المجموعة
المصدر: FreeCodeCamp ستتعلم في هذا البرنامج التعليمي كيفية تحويل سلسلة إلى مصفوفة. ستكون هذه المهارة مفيدة عند تطوير تطبيقات معالجة النصوص أو العمل مع البيانات. استراحة القهوة رقم 241.  كيفية تحويل السلاسل إلى مصفوفات - الدليل التفصيلي - 1السلسلة في Java هي مجموعة من الأحرف، في حين أن المصفوفة عبارة عن مجموعة من العناصر من نفس النوع. يمكنك تقسيم سلسلة إلى أجزاء باستخدام عملية التحويل ثم تخزين تلك القطع في مصفوفة لمزيد من المعالجة أو التحليل. هناك طرق Java مختلفة لتحويل السلاسل إلى صفائف. ستسمح لك معرفتهم باختيار الخيار الذي يناسب متطلبات البرمجة الخاصة بك.

كيفية تحويل سلسلة إلى مصفوفة باستخدام طريقة toCharArray()

طريقة toCharArray() هي وظيفة Java مضمنة تسمح لك بتحويل سلسلة إلى مصفوفة من الأحرف، وكل حرف في السلسلة إلى عنصر في المصفوفة. هذه الطريقة متاحة في فئة String .

بناء الجملة واستخدام طريقة toCharArray():

public class StringToArrayExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // Преобразовать строку в массив символов
        char[] charArray = str.toCharArray();

        // Распечатать элементы массива
        for (char c : charArray) {
            System.out.println(c);
        }
    }
}

شرح الإجراء:

  1. قم بتعريف متغير سلسلة str وقم بتعيين السلسلة المطلوبة له.
  2. استخدم طريقة toCharArray() على السلسلة النصية لتحويلها إلى مصفوفة أحرف. تقوم هذه الطريقة بتقسيم السلسلة إلى أحرف فردية وإرجاع مصفوفة تحتوي على تلك الأحرف.
  3. قم بتخزين مصفوفة الأحرف الناتجة في متغير charArray .
  4. قم بالتكرار عبر charArray باستخدام حلقة for-each لطباعة كل حرف على حدة.
خاتمة:
مرحبا بالعالم !

إيجابيات استخدام toCharArray():

  • البساطة: يوفر الأسلوب toCharArray() طريقة بسيطة لتحويل سلسلة إلى مصفوفة أحرف من خلال استدعاء أسلوب واحد فقط.
  • سهولة القراءة: يمكن بسهولة تعديل مصفوفة الأحرف الناتجة أو معالجتها أو تكرارها من خلال الحلقات.
  • السلاسل غير القابلة للتغيير: نظرًا لأن السلاسل غير قابلة للتغيير في Java، فإن تحويلها إلى مصفوفة أحرف يمكن أن يكون مفيدًا عندما تحتاج إلى تغيير الأحرف الفردية.

عيوب استخدام toCharArray():

  • زيادة استخدام الذاكرة: يقوم الأسلوب toCharArray() بإنشاء مصفوفة أحرف جديدة، الأمر الذي يتطلب ذاكرة إضافية. يمكن أن يكون هذا مشكلة إذا كنت تعمل مع سلاسل كبيرة.
  • الأداء: قد يؤدي إنشاء مصفوفة أحرف جديدة ونسخ الأحرف إلى انخفاض الأداء قليلاً مقارنة بالطرق الأخرى، خاصة بالنسبة للسلاسل الطويلة.

كيفية تقسيم سلسلة باستخدام طريقة Split()

تعد طريقة التقسيم () في Java طريقة مناسبة لتقسيم سلسلة إلى مصفوفة من السلاسل الفرعية بناءً على محدد محدد. هذه الطريقة متاحة في فئة String .

بناء الجملة واستخدام طريقة سبليت ():

String[] split(String delimiter)
تأخذ الطريقة محددًا كوسيطة، والذي يحدد النقاط التي يجب تقسيم السلسلة عندها. يمكن أن يكون المحدد تعبيرًا عاديًا أو سلسلة بسيطة. رمز مثال يوضح التحويل باستخدام Split() :
string = "Hello,World,How,Are,You?"
delimiter = ","

split_string = string.split(delimiter)
print(split_string)

شرح الإجراء:

  1. نحدد متغير سلسلة يسمى string . يحتوي على النص الذي نريد فصله: "مرحبًا أيها العالم، كيف حالك؟"
  2. نحدد الفاصلة ( ، ) التي نريد استخدامها لفصل السلسلة وتخصيصها للمتغير المحدد .
  3. نستخدم بعد ذلك طريقة Split() ‎ على متغير السلسلة ، ونمرر المحدد كوسيطة . يؤدي هذا إلى تقسيم السلسلة إلى سلاسل فرعية أينما تم العثور على المحدد .
  4. تقوم طريقة Split() بإرجاع قائمة من السلاسل الفرعية، والتي نقوم بتعيينها للمتغير Split_string .
  5. وأخيرًا، نقوم بطباعة قائمة Split_string لنرى النتيجة.
خاتمة:
["مرحبًا"، "العالم"، "كيف"، "هل"، "أنت؟"]

إيجابيات استخدام الانقسام ():

  • مريحة وسهلة الاستخدام.
  • يسمح لك بتقسيم سلسلة بناءً على محدد محدد.
  • يدعم التعبيرات العادية كمحددات، مما يوفر خيارات محددات مرنة.

عيوب استخدام الانقسام ():

  • إذا لم يتم العثور على المحدد في السلسلة، فسيتم إرجاع السلسلة الأصلية كعنصر واحد من المصفوفة الناتجة.
  • يمكن أن يكون التعامل مع التعبيرات العادية أمرًا صعبًا، وقد يؤدي استخدامها بشكل غير صحيح إلى نتائج غير متوقعة.
  • يمكن أن يكون تقسيم سلسلة كبيرة باستخدام تعبير عادي معقد مكلفًا من الناحية الحسابية.

كيفية تحويل سلسلة إلى صفيف باستخدام StringTokenizer

فئة StringTokenizer في Java هي فئة قديمة توفر طريقة ملائمة لترميز سلسلة أو تقسيمها إلى رموز مميزة فردية. يتم استخدامه عادةً لتحويل سلسلة إلى مصفوفة عن طريق تقسيمها بناءً على محدد محدد.

بناء الجملة واستخدام StringTokenizer:

لاستخدام StringTokenizer ، تحتاج أولاً إلى إنشاء مثيل لفئة StringTokenizer ، وتمرير سلسلة ومحدد كمعلمات:
StringTokenizer tokenizer = new StringTokenizer(inputString, delimiter);
رمز المثال:
import java.util.StringTokenizer;

public class StringToArrayExample {
    public static void main(String[] args) {
        String inputString = "Hello,World,How,Are,You?";

        // Creation an object StringTokenizer с разделителем ","
        StringTokenizer tokenizer = new StringTokenizer(inputString, ",");

        int tokenCount = tokenizer.countTokens();
        String[] stringArray = new String[tokenCount];

        // Преобразование каждого токена в элементы массива
        for (int i = 0; i < tokenCount; i++) {
            stringArray[i] = tokenizer.nextToken();
        }

        // Печать выходного массива
        for (String element : stringArray) {
            System.out.println(element);
        }
    }
}

شرح الإجراء:

  1. يبدأ الكود بإنشاء كائن StringTokenizer المسمى tokenizer من سلسلة الإدخال ويتم تحديده بواسطة "،" .
  2. يتم استخدام طريقة countTokens() للحصول على العدد الإجمالي للرموز المميزة الموجودة في سلسلة الإدخال. يتم تخزين هذه القيمة في المتغير tokenCount .
  3. يتم إنشاء stringArray المسمى بحجم يساوي tokenCount .
  4. يتم استخدام الأسلوب nextToken() في حلقة للتكرار عبر كل رمز مميز وتعيين الفهرس المقابل له في stringArray .
  5. وأخيرًا، يتم استخدام حلقة for لطباعة كل عنصر في ملف stringArray .
خاتمة:
أهلا بالعالم كيف حالك؟

تطبيقات StringTokenizer

يمكن أن يكون StringTokenizer مفيدًا في مجموعة متنوعة من السيناريوهات، بما في ذلك:
  • تحليل بيانات الإدخال منظمة باستخدام محدد ثابت.
  • استخراج كلمات أو مكونات فردية من جملة أو فقرة.
  • فصل القيم المفصولة بفواصل إلى عناصر فردية.
  • ترميز النص للتحليل المعجمي أو مهام معالجة اللغة.

إيجابيات استخدام StringTokenizer:

  • البساطة: بناء جملة StringTokenizer بسيط ومباشر، مما يجعله في متناول المبتدئين.
  • الكفاءة: يتميز StringTokenizer بالكفاءة من حيث الذاكرة والأداء مقارنة بالتعبيرات العادية أو التقسيم اليدوي القائم على الأحرف.
  • محددات مرنة: يمكنك تحديد محددات متعددة أو استخدام مجموعة محددة مسبقًا من المحددات، مما يسمح بالترميز العالمي.
  • المعالجة التكرارية: يتيح لك StringTokenizer معالجة الرموز المميزة بشكل متكرر، مما يجعله مفيدًا لمعالجة السلاسل الكبيرة دون تحميل كل شيء في الذاكرة مرة واحدة.

سلبيات استخدام StringTokenizer:

  • وظائف محدودة: يفتقر StringTokenizer إلى بعض الميزات المتقدمة الموجودة في البدائل الحديثة، مثل التعبيرات العادية، والتي توفر مرونة أكبر في ترميز الأنماط المعقدة .
  • لا يوجد دعم للتعبيرات العادية: على عكس الطرق الأخرى مثل طريقة Split() ، لا يمكن لـ StringTokenizer استخدام التعبيرات العادية كمحددات، مما يحد من إمكانات الترميز الخاصة به.
  • لا يوجد دعم للرموز الفارغة: لا يتعامل StringTokenizer مع الرموز الفارغة بشكل افتراضي. إذا كان لديك محددات متتالية، فسيتم التعامل معها كمحدد واحد، مما قد يؤدي إلى نتائج غير متوقعة.
  • فئة مهملة: StringTokenizer هو جزء من إطار عمل مجموعات Java القديمة ولا يطبق الواجهة القابلة للتكرار ، مما يعني أنه لا يمكن استخدامه في حلقات for الموسعة .

كيفية تحويل كل حرف من سلسلة يدويًا إلى عنصر صفيف

في مواقف معينة، قد تحتاج إلى مزيد من التحكم في عملية التحويل أو ترغب في تخصيصها لتناسب متطلباتك المحددة. في مثل هذه الحالات، يمكنك تحويل السلسلة إلى مصفوفة عن طريق التكرار يدويًا على كل حرف في السلسلة وتعيينها إلى عناصر فردية في المصفوفة. نموذج كود يوضح التحويل اليدوي:
string = "Hello, World!"
array = []

for char in string:
    array.append(char)

print(array)

شرح الإجراء:

  1. نحدد سلسلة متغيرة بالقيمة " Hello, World!" .
  2. نقوم بتهيئة قائمة فارغة تسمى المصفوفة .
  3. نستخدم حلقة for للتكرار على كل حرف في السلسلة .
  4. داخل الحلقة، نستخدم طريقة append() لإلحاق كل حرف بالمصفوفة .
  5. بعد اكتمال الحلقة، نقوم بطباعة المصفوفة لرؤية النتيجة.
خاتمة:
['H'، 'e'، 'l'، 'l'، 'o'، '،'، ''، 'W'، 'o'، 'r'، 'l'، 'd'، '!']

إيجابيات التحويل اليدوي:

  • يوفر السيطرة الكاملة على عملية التحويل.
  • يسمح لك بتخصيص الأحرف أو معالجتها قبل تعيينها إلى مصفوفة.
  • يعمل بشكل جيد عندما تحتاج إلى إجراء عمليات إضافية أثناء التحويل.

عيوب التحويل اليدوي:

  • يتطلب المزيد من التعليمات البرمجية والمعالجة اليدوية مقارنة بالطرق المضمنة مثل toCharArray() أو Split() .
  • قد تكون أقل كفاءة بالنسبة للسلاسل الكبيرة بسبب عملية التكرار اليدوية.
  • يزيد من خطر الأخطاء إذا تم تنفيذها بشكل غير صحيح.
ملحوظة. من الأفضل أن تختار طريقة التحويل اليدوي إذا كنت بحاجة إلى إجراء عمليات خاصة أثناء عملية التحويل. بخلاف ذلك، يوصى بالطرق المضمنة مثل toCharArray() أو Split() من أجل البساطة والكفاءة .

مقارنة بين الطرق المختلفة

إلىCharArray():

  • طريقة بسيطة وواضحة.
  • إرجاع مصفوفة أحرف تمثل سلسلة.
  • مناسبة للتحويلات العامة دون متطلبات خاصة.

ينقسم():

  • يقسم سلسلة إلى مصفوفة بناءً على المحدد المحدد.
  • مفيد إذا كنت بحاجة إلى تقسيم سلسلة إلى سلاسل فرعية.
  • يوفر المرونة في اختيار قالب فاصل.

سلسلة الرموز:

  • مصمم خصيصًا لترميز السلسلة المستندة إلى المحددات.
  • يسمح لك بتخصيص الأحرف المحددة.
  • مناسب عندما تحتاج إلى تحكم دقيق في عملية الترميز.

التحويل اليدوي:

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

لماذا تحتاج إلى معرفة كيفية تحويل سلسلة إلى مصفوفة في Java؟

تكمن أهمية تحويل السلسلة إلى المصفوفة في Java في التنوع والمرونة التي توفرها لمعالجة البيانات. فيما يلي بعض الأسباب الرئيسية التي تجعل القدرة على تحويل سلسلة إلى مصفوفة مهمة في Java:
  • التلاعب بالبيانات. توفر المصفوفات طريقة منظمة لتخزين البيانات ومعالجتها في Java. من خلال تحويل سلسلة إلى مصفوفة، يمكنك الوصول إلى أحرف فردية أو سلاسل فرعية، وتعديل البيانات، وتنفيذ عمليات متنوعة مثل الفرز أو البحث أو التصفية.
  • العمليات الخوارزمية. تتطلب العديد من الخوارزميات وهياكل البيانات في Java إدخالاً في شكل صفائف. من خلال تحويل سلسلة إلى مصفوفة، يمكنك بسهولة تطبيق هذه الخوارزميات وتنفيذ عمليات مثل فرز عناصر معينة أو عكسها أو استرجاعها.
  • إعراب وتحليل النص. تحتوي السلاسل غالبًا على بيانات منظمة أو محددة، مثل CSV (قيم مفصولة بفواصل) أو JSON (ترميز كائن JavaScript). يتيح لك تحويل سلسلة إلى مصفوفة تقسيم البيانات وتحليلها، مما يسمح بإجراء مزيد من التحليل أو المعالجة أو استخراج معلومات محددة.
  • التلاعب بالسلسلة. في حين أن السلاسل لها مجموعة خاصة بها من أساليب المعالجة، فإن المصفوفات توفر مرونة إضافية. يتيح لك تحويل سلسلة إلى مصفوفة استخدام عمليات خاصة بالمصفوفة، مثل الفهرسة أو التقطيع أو التسلسل، لإدارة البيانات بشكل أكثر كفاءة أو تلبية متطلبات تنسيق معينة.
  • التوافق: في بعض السيناريوهات، قد تحتاج إلى تحويل سلسلة إلى مصفوفة للتفاعل مع المكتبات أو واجهات برمجة التطبيقات التي تتوقع إدخالاً يعتمد على المصفوفة. من خلال إجراء التحويل، يمكنك بسهولة دمج بيانات السلسلة الخاصة بك مع المكونات الخارجية، مما يضمن التوافق وتمكين التبادل السلس للبيانات.

خاتمة

في هذه المقالة، ناقشنا طرقًا مختلفة لتحويل سلسلة إلى مصفوفة في Java. لقد تعلمت أربع طرق مختلفة: استخدام طريقة toCharArray() ، وتقسيم سلسلة باستخدام طريقة Split() ، واستخدام StringTokenizer ، وتحويل كل حرف يدويًا إلى عنصر مصفوفة. لقد قمنا بتغطية كل طريقة بالتفصيل، بما في ذلك تركيبها واستخدامها ونموذج التعليمات البرمجية والإيجابيات والسلبيات.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION