JavaRush /وبلاگ جاوا /Random-FA /کافه استراحت شماره 136. با استفاده از () Arrays.sort یک آ...

کافه استراحت شماره 136. با استفاده از () Arrays.sort یک آرایه را به ترتیب صعودی یا نزولی مرتب کنید. تفاوت بین اینترفیس List و Set چیست؟

در گروه منتشر شد

مرتب سازی یک آرایه به ترتیب صعودی یا نزولی با استفاده از Arrays.sort()

منبع: FreeCodeCamp با این پست، یاد خواهید گرفت که چگونه یک آرایه را به ترتیب صعودی یا نزولی در جاوا مرتب کنید. کافه استراحت شماره 136.  با استفاده از () Arrays.sort یک آرایه را به ترتیب صعودی یا نزولی مرتب کنید.  تفاوت بین اینترفیس List و Set چیست؟  - 1در جاوا از آرایه ها برای ذخیره مجموعه ای از متغیرها (با همان نوع داده) در یک متغیر استفاده می کنیم. اما گاهی اوقات مقادیر ذخیره شده در آرایه به ترتیب تصادفی ظاهر می شوند. به لطف کلاس Arrays در جاوا، ما چندین راه برای دستکاری آرایه ها از جمله مرتب سازی آنها داریم. یکی از متدهایی که از کلاس Arrays استفاده خواهیم کرد، متد sort() است که آرایه را به ترتیب صعودی مرتب می کند. برای مرتب کردن یک آرایه به ترتیب نزولی، از متد reverseOrder() کلاس Collections در جاوا استفاده کنید.

نحوه مرتب کردن آرایه به ترتیب صعودی در جاوا با استفاده از Arrays.sort()

در اینجا مثالی از نحوه استفاده از متد sort() برای مرتب سازی آرایه به ترتیب صعودی آورده شده است.
import java.util.Arrays;

class ArraySort {
    public static void main(String[] args) {
        int[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr);

        for (int values : arr) {
            System.out.print(values + ", ");
            // 1, 2, 5, 8, 10,
        }
    }
}
اولین کاری که در مثال بالا انجام دادیم وارد کردن کلاس Arrays بود : import java.util.Arrays; . این به ما امکان دسترسی به تمام متدهای کلاس Arrays را می دهد . سپس یک آرایه با اعداد به ترتیب تصادفی ایجاد کردیم: int[] arr = { 5, 2, 1, 8, 10 }; . برای مرتب سازی این آرایه به ترتیب صعودی، آرایه را به عنوان پارامتر به متد sort() ارسال کردیم : Arrays.sort(arr); . توجه داشته باشید که کلاس Arrays ابتدا قبل از دسترسی به متد sort() با استفاده از علامت نقطه نوشته می شود. در نهایت یک حلقه ایجاد کردیم و آرایه را در کنسول چاپ کردیم. نتیجه یک آرایه مرتب شده است: 1، 2، 5، 8، 10 . حالا بیایید در مورد مرتب سازی یک آرایه به ترتیب نزولی صحبت کنیم.

نحوه مرتب کردن آرایه به ترتیب نزولی در جاوا با استفاده از Collections.reverseOrder()

برای مرتب کردن یک آرایه به ترتیب نزولی، باید از reverseOrder() استفاده کنید که از کلاس Collections قابل دسترسی است . ما همچنان از Arrays.sort(); ، اما در این مثال دو پارامتر نیاز دارد - یک آرایه برای مرتب سازی و Collections.reverseOrder() .
import java.util.Arrays;
import java.util.Collections;

class ArraySort {
    public static void main(String[] args) {
        Integer[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr, Collections.reverseOrder());

        for (int values : arr) {
            System.out.print(values + ", ");
            // 10, 8, 5, 2, 1,
        }
    }
}
اولین کاری که انجام دادیم وارد کردن کلاس های Arrays و Collections بود زیرا از متدهای ارائه شده توسط این کلاس ها استفاده خواهیم کرد. سپس آرایه ای از اعداد را به ترتیب تصادفی ایجاد کردیم: Integer[] arr = { 5, 2, 1, 8, 10 }; . همانطور که می بینید، مانند مثال قبلی به جای int[] از Integer[] استفاده کردیم. در غیر این صورت خطایی رخ خواهد داد. برای مرتب کردن آرایه به ترتیب نزولی، این کار را انجام دادیم: Arrays.sort(arr, Collections.reverseOrder()); . پارامتر اول یک آرایه آرایه است که به ترتیب صعودی مرتب می شود. پارامتر دوم، Collections.reverseOrder() سپس ترتیب آرایه مرتب شده را به گونه ای معکوس می کند که به ترتیب نزولی باشد. هنگامی که حلقه زده می شود و چاپ می شود، آرایه مانند این خواهد بود: 10، 8، 5، 2، 1 .

نتیجه

در این مقاله، ما در مورد مرتب سازی آرایه ها در جاوا بحث کردیم - چگونه می توان آنها را به ترتیب صعودی یا نزولی مرتب کرد. برای این کار می‌توانیم از متد sort() استفاده کنیم که از کلاس Arrays قابل دسترسی است . متد sort() یک آرایه را برای مرتب سازی به عنوان پارامتر می گیرد. برای مرتب کردن آرایه به ترتیب نزولی، از متد ()reverseOrder ارائه شده توسط کلاس Collections استفاده کردیم. به عنوان پارامتر دوم به متد sort() داده می شود تا آرایه مرتب شده را بتوان به ترتیب نزولی دوباره مرتب کرد.

مجموعه جاوا. تفاوت بین اینترفیس List و Set چیست؟

منبع: Rrtutors List و Set رابط های جاوا برای گسترش رابط مجموعه هستند . در این پست به تفاوت های کلیدی بین این دو و همچنین نحوه استفاده از آنها خواهیم پرداخت.

تفاوت بین رابط های Set و List در جاوا

بیایید تفاوت های کلیدی بین رابط های List و Set را بر اساس پارامترهای کلیدی زیر تعریف کنیم:

پیاده سازی

List ArrayLists را پیاده سازی می کند ، در حالی که HashSet Set را پیاده سازی می کند .

نمایه سازی

شما می توانید از ListIterator برای حرکت به جلو و عقب در یک لیست استفاده کنید، اما نه از طریق یک Set . به جای آن از Iterator استفاده کنید (که با List و Set کار می کند ).

سفارش

رابط Set هیچ ترتیب مجموعه خاصی را پشتیبانی نمی کند. مجموعه‌ای از نوع Set قبلاً طبق قانون خودش مرتب شده است و نمی‌توان آن را به همین ترتیب مرتب کرد. لیست یک لیست مرتب شده است. اشیاء به ترتیبی که به لیست اضافه شده اند ذخیره می شوند. عناصر لیست توسط فهرست قابل دسترسی هستند.

شی پوچ

لیست هیچ محدودیتی ندارد و از افزودن مقادیر Null پشتیبانی می کند، در حالی که Set حداکثر یک مقدار null را مجاز می کند.

موارد تکراری

لیست می تواند شامل موارد تکراری باشد، اما Set نمی تواند. Set اجازه عناصر تکراری را نمی دهد زیرا همه عناصر آن باید منحصر به فرد باشند. اگر یک عنصر تکراری را در یک مجموعه وارد کنید ، مقدار موجود بازنویسی می شود.

چه زمانی باید از List and Set استفاده کنید؟

وقتی فقط نیاز به ذخیره مقادیر منحصر به فرد دارید، Set بهترین انتخاب است، زیرا برای همین طراحی شده است. اما اگر می‌خواهید با وجود تکراری بودن، ترتیب درج را حفظ کنید، List بهترین انتخاب است .

مجموعه نمونه

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class ListExample {

            public static void main(String[] args) {

                        List<String> al = new ArrayList<String>();

                          al.add("Rohit");

                          al.add("Panjab");

                          al.add("Kamir");

                          System.out.println("My ArrayList Items: ");

                          System.out.print(al);

                          List<String> ll = new LinkedList<String>();

                          ll.add("Shobit");

                          ll.add("Raul");

                          ll.add("Ketel");

                          System.out.println("\n My LinkedList Items: ");

                          System.out.print(ll);

            }

}

فهرست نمونه

import java.util.HashSet;

import java.util.Set;

import java.util.TreeSet;

public class SetExample {

            public static void main(String[] args) {

                          int myList[] = {60, 70, 80, 40 };

                            Set<Integer> dispSet = new HashSet<Integer>();

                            try{

                              for(int i = 0; i<4; i++){

                                dispSet.add(myList[i]);

                              }

                              System.out.println(dispSet);

                              TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);

                              System.out.println("Sorting in Asceding order:");

                              System.out.println(treeset);

                            }

                            catch(Exception e){

                                e.printStackTrace();

                            }

            }

}
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION