CodeGym /وبلاگ جاوا /Random-FA /آرایه رشته ای در جاوا
John Squirrels
مرحله
San Francisco

آرایه رشته ای در جاوا

در گروه منتشر شد
اغلب اولین ساختار داده ای که یک برنامه نویس تازه کار با آن آشنا می شود یک آرایه است. دلیلش این است که یادگیری آرایه ها نسبتاً آسان است. آرایه یک بعدی دنباله ای است که از تعداد ثابتی سلول تشکیل شده است که داده ها را می توان در آنها ذخیره کرد. در مورد زبان جاوا، شما می توانید تنها یک نوع داده را در یک آرایه ذخیره کنید. به عبارت دیگر آرایه ها در جاوا همگن هستند. سلول‌های آرایه می‌توانند شامل هر نوع اشیایی باشند. شما می توانید اشیاء از هر نوع، بدوی یا شی را در یک آرایه قرار دهید. امروز قصد داریم آرایه های رشته ای را در زبان جاوا بررسی کنیم، یعنی آرایه هایی که هر عنصر آن یک رشته است. نحوه اعلان آرایه رشته جاوا و نحوه کار با آن را خواهیم فهمید.

چگونه یک آرایه رشته ای را اعلام و مقداردهی اولیه کنیم

شما می توانید یک آرایه String را در جاوا به روش های مختلف اعلام و مقداردهی اولیه کنید . به عنوان مثال مانند کد زیر:
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 ایجاد می کنید و اندازه String Array را مشخص می کنید، اما هیچ مقدار اولیه ای را ارائه نمی کنید. سپس می توانید با استفاده از یک حلقه یا با تعیین مقادیر به صورت جداگانه مقادیری را به آرایه اختصاص دهید. توجه داشته باشید که در همه موارد، باید نوع آرایه (در این مورد String ) را در حین اعلان متغیر مشخص کنید.

نحوه تکرار از طریق آرایه String

در جاوا می توانید از طریق یک آرایه رشته ای با استفاده از یک حلقه تکرار کنید. می تواند برای یا 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();
    }
}
در اینجا ابتدا یک آرایه String به نام stringArray با چهار عنصر (آلات موسیقی String) ایجاد می کنیم . سپس، هر دو حلقه از طریق هر عنصر آرایه رشته ای تکرار می شوند و آن را در کنسول چاپ می کنند. حلقه foreach روشی مختصرتر برای تکرار از طریق یک آرایه است، اما اگر نیاز به دسترسی به شاخص هر عنصر دارید، حلقه for می تواند مفید باشد. خروجی این برنامه به صورت زیر خواهد بود:
ویولن ویولا ویولن سل کنترباس ویولن ویولا ویولن سل کنترباس

چگونه یک عنصر جدید به آرایه اضافه کنیم

شما نمی توانید فقط یک عنصر جدید به یک آرایه در جاوا اضافه کنید. با این حال جاوا ترفندهای خاصی برای آن دارد. اگر آرایه ای از رشته ها دارید و باید یک رشته جدید به انتهای آرایه خود اضافه کنید، از روش 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 اضافه می کند . آرایه‌ها در جاوا طول ثابتی دارند، بنابراین نمی‌توانید پس از ایجاد آرایه، عناصری را از آن اضافه یا حذف کنید. برای افزودن یا حذف پویا عناصر از یک مجموعه، بهتر است از ساختار داده دیگری استفاده کنید. به عنوان مثال، یک فهرست یا یک نقشه .

نحوه مرتب سازی عناصر در آرایه رشته ای

مطمئناً، اگر به تمرین های برنامه نویسی خوب علاقه دارید، می توانید الگوریتم مرتب سازی خود را برای روش مرتب سازی بنویسید. با این حال، در کارهای واقعی، استفاده از متد ()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 + " ");
        }
    }
}
در اینجا ابتدا یک آرایه String به نام stringArray با چهار عنصر ایجاد می کنیم . سپس متد Arrays.sort() را فراخوانی می کنیم تا عناصر آرایه را به ترتیب صعودی مرتب کنیم. در نهایت، ما از طریق آرایه مرتب شده با استفاده از یک حلقه برای هر یک تکرار می کنیم و هر عنصر را در کنسول چاپ می کنیم. خروجی این برنامه به صورت زیر است:
ویولن ویولن کنترباس ویولن ویولن
همانطور که می بینید، متد عناصر موجود در stringArray را بر اساس حروف الفبا مرتب کرد.

چگونه یک رشته خاص را در آرایه رشته جستجو کنیم

برای جستجوی رشته مورد نیاز در یک آرایه رشته در جاوا، می‌توانید از یک حلقه برای تکرار در هر عنصر آرایه استفاده کنید و آن را با رشته مورد جستجو مقایسه کنید. در اینجا یک برنامه نمونه است:
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;
       }
}
در اینجا ما یک متد با دو آرگومان، یک آرایه و یک رشته ایجاد می کنیم. برای ردیابی اینکه آیا رشته را پیدا کرده‌ایم، یک «یافت شده» بولی ایجاد می‌کنیم . این مقدار یافت شده است که متد برمی گرداند. سپس از یک حلقه برای هر یک برای تکرار روی هر عنصر آرایه استفاده می کنیم . ما از متد () quals در حلقه برای مقایسه عنصر فعلی با رشته جستجو استفاده می کنیم. اگر متد مطابقت پیدا کرد، آن را روی true قرار می دهیم و از دستور break برای خروج زودهنگام از حلقه استفاده می کنیم. در نهایت، بسته به درست یا نادرست بودن نتیجه، نتیجه را چاپ می کنیم. در متد main دوبار متد جستجو را فراخوانی می کنیم، با رشته ای که در آرایه است و رشته ای که نیست. خروجی این برنامه به صورت زیر است:
ویولن سل در آرایه یافت می شود. پیانو در آرایه یافت نشد.

نحوه تبدیل آرایه رشته ای به رشته

می توانید از متد String.join() برای تبدیل آرایه String به String در جاوا استفاده کنید. این روش یک رشته به هم پیوسته توسط جداکننده داده شده را برمی گرداند. جداکننده برای هر عنصر در متد String join() کپی می‌شود . در اینجا یک مثال است:
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
خروجی به صورت زیر است:
value1، value2، value3
ابتدا یک آرایه رشته ای myArray را با سه مقدار رشته اعلام می کنیم. سپس از متد String.join() برای پیوستن تمام عناصر آرایه به یک رشته استفاده می کنیم . اولین آرگومان برای String.join() جداکننده ای است که می خواهید بین هر عنصر آرایه استفاده کنید. ما از "," (یک کاما به دنبال فاصله) به عنوان جداکننده استفاده کرده ایم. آرگومان دوم آرایه ای است که می خواهید به آن بپیوندید. در نهایت، رشته به دست آمده را به متغیر joinedString اختصاص می دهیم و آن را در کنسول چاپ می کنیم.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION