برنامه نویسی

آرایه ها در جاوا: ویژگی ها، استفاده و سناریوهای زندگی واقعی

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


در جاوا، آرایه ها یک ساختار داده اساسی هستند که به توسعه دهندگان اجازه می دهد چندین مقدار از یک نوع را در یک متغیر ذخیره کنند. آرایه ها به دلیل اندازه ثابت و قابلیت دسترسی مستقیم، راهی کارآمد برای مدیریت و دستکاری داده ها ارائه می کنند. این مقاله ویژگی‌های آرایه‌های جاوا را بررسی می‌کند، آن‌ها را با انواع مجموعه‌های دیگر مانند ArrayList مقایسه می‌کند، و سناریوهای واقعی را ارائه می‌کند که در آن آرایه‌ها مفید هستند. درک خواص و کاربردهای آرایه ها برای ساختن برنامه های جاوا کارآمد ضروری است.

در زیر لیستی از ویژگی های آرایه در جاوا آمده است:

  • اندازه ثابت: پس از تعریف، اندازه یک آرایه قابل تغییر نیست.
  • سفارش داد: آرایه ها عناصر را در یک ترتیب متوالی ذخیره می کنند، به این معنی که عناصر را می توان با شاخص آنها در زمان ثابت دسترسی داشت.
  • کارایی: دسترسی به هر عنصر در یک آرایه یک عملیات زمان ثابت است. آرایه ها سربار حافظه بسیار کمی دارند زیرا یک نوع داده را ذخیره می کنند.
  • نوع تک: آرایه های جاوا تایپ می شوند، به این معنی که آنها فقط می توانند عناصری از همان نوع داده ای را که در اعلان آرایه اعلام شده است ذخیره کنند.

آرایه ها با ArrayList که لیست هستند و بخشی از واسط مجموعه هستند متفاوت هستند. یک رابط در جاوا یک نوع مرجع است، شبیه به یک کلاس، که می‌تواند فقط شامل ثابت‌ها، متدهای پیش‌فرض، متدهای استاتیک و انواع تودرتو باشد (Tutorials Point, nd). در مورد واسط مجموعه، متدهایی مانند add()، remove()، get() و size() در میان سایر موارد (Oracle Doc., nd) را شامل می شود. این به انواع مختلفی از کلاس های لیست مانند ArrayList، LinkedList و سایر کلاس های Set اجازه می دهد تا از آن متدها استفاده کنند.

توجه داشته باشید که آرایه ها بخشی از واسط مجموعه نیستند. به عبارت دیگر، آنها روش های مرتبط با آنها را ندارند.

سناریوهای واقعی برای استفاده از آرایه ها

سناریوی 1 مقادیر محصول را در یک فروشگاه ذخیره کنید:
از یک آرایه می توان برای پیگیری مقادیر محصولات مختلف در یک فروشگاه استفاده کرد. به عنوان مثال، هر عنصر آرایه نشان دهنده مقدار یک محصول خاص است.

public class Main {
    public static void main(String[] args) {
        // Stores product quantities
        int[] quantities = new int[4];   
        // Storing product quantities
        quantities[0] = 50;  
        quantities[1] = 30;  
        quantities[2] = 20;  
        quantities[3] = 40;  
        // Prints the product quantities
        for (int i = 0; i < quantities.length; i++) {
            System.out.println("Product " + (i + 1) + " Quantity: " 
                                                            +   quantities[i]);
        }
    }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی ها:

Product 1 Quantity: 50
Product 2 Quantity: 30
Product 3 Quantity: 20
Product 4 Quantity: 40
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

سناریو 2:
از یک آرایه می توان برای ذخیره و تغییر دمای روزانه استفاده کرد.

public class Main {
    public static void main(String[] args) {
        // Stores daily temperatures 
        int[] temperatures = {68, 70, 75, 72, 69, 71, 73};

        // Prints initial temperatures
        System.out.println("Initial daily temperatures:");
        printTemperatures(temperatures);

        // Modifies temperatures
        modifyTemperature(temperatures, 2, 78);
        modifyTemperature(temperatures, 5, 74);

        // Prints updated temperatures
        System.out.println("\nUpdated daily temperatures:");
        printTemperatures(temperatures);
    }

    // Method to print all temperatures
    public static void printTemperatures(int[] temperatures) {
        String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", 
                         "Friday","Saturday", "Sunday"};
        for (int i = 0; i < temperatures.length; i++) {
            System.out.println(days[i] + ": " + temperatures[i] + "°F");
        }
    }

    // Method to modify a temperature
    public static void modifyTemperature(int[] temperatures, int dayIndex, 
                                                               int newTemperature) {
        if (dayIndex >= 0 && dayIndex < temperatures.length) {
            temperatures[dayIndex] = newTemperature;
        } else {
            System.out.println("Invalid day index!");
        }
    }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی ها:

Initial daily temperatures:
Monday: 68°F
Tuesday: 70°F
Wednesday: 75°F
Thursday: 72°F
Friday: 69°F
Saturday: 71°F
Sunday: 73°F

Updated daily temperatures:
Monday: 68°F
Tuesday: 70°F
Wednesday: 78°F
Thursday: 72°F
Friday: 69°F
Saturday: 74°F
Sunday: 73°F
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

سناریو-3:
از یک آرایه می توان برای ذخیره و مرتب کردن نمرات دانش آموزان در یک کلاس خاص استفاده کرد.

import java.util.Arrays;public class Main{
    public static void main(String[] args) {
        // Two-dimensional array to store student IDs and their grades
        int[][] studentGrades = {
            {1, 85}, // {Student ID, Grade}
            {2, 90},
            {3, 78},
            {4, 92},
            {5, 88}
        };

        // Prints initial student grades
        System.out.println("Initial student grades:");
        printAllGrades(studentGrades);
        // Sorting grades from lowest to highest
        sortGrades(studentGrades);
        // Printing sorted student grades
        System.out.println("\nSorted student grades:");
        printAllGrades(studentGrades);
    }
    // Prints all grades
    public static void printAllGrades(int[][] studentGrades) {
        for (int i = 0; i < studentGrades.length; i++) {
            System.out.println("Student ID " + studentGrades[i][0] 
                                + ": " + studentGrades[i][1]);
        }
    }
    // Sorts grades 
    public static void sortGrades(int[][] studentGrades) {
        Arrays.sort(studentGrades, (a, b) -> Integer.compare(a[1], b[1]));
    }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی ها

Initial student grades:
Student ID 1: 85
Student ID 2: 90
Student ID 3: 78
Student ID 4: 92
Student ID 5: 88

Sorted student grades:
Student ID 3: 78
Student ID 1: 85
Student ID 5: 88
Student ID 2: 90
Student ID 4: 92
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به طور خلاصه، آرایه های جاوا دارای اندازه ثابت هستند، آنها مقادیر متعددی از یک نوع را ذخیره می کنند. آن‌ها با استفاده از شاخص‌ها، دسترسی کارآمد و ثابتی به عناصر ارائه می‌دهند، و آنها را برای سناریوهایی که سربار حافظه و سرعت نگران کننده هستند، مناسب می‌سازند. در حالی که آرایه‌ها انعطاف‌پذیری مجموعه‌هایی مانند ArrayList را فراهم نمی‌کنند، اما همچنان بخشی ارزشمند از جعبه ابزار جاوا برای مدیریت کارآمد داده‌های سفارش‌داده‌شده هستند.


مراجع:

Oracle Doc. (دوم). مجموعه (Java SE 21) [Java Platform, Standard Edition Java API Specification]. اوراکل. برگرفته از https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Collection.html/

نکته آموزشی (دوم). رابط های جاوا. نکته آموزشی برگرفته از https://www.tutorialspoint.com/java/java_interfaces.htm


در ابتدا در Alex.omegapy در Medium منتشر شده توسط Level UP Coding در 16 اکتبر 2024 منتشر شد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا