JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค #136. จัดเรียงอาร์เรย์จากน้อยไปหามากหรือจากมาก...

คอฟฟี่เบรค #136. จัดเรียงอาร์เรย์จากน้อยไปหามากหรือจากมากไปน้อยโดยใช้ Arrays.sort() อะไรคือความแตกต่างระหว่างอินเทอร์เฟซรายการและการตั้งค่า?

เผยแพร่ในกลุ่ม

เรียงลำดับอาร์เรย์จากน้อยไปหามากหรือมากไปหาน้อยโดยใช้ Arrays.sort()

ที่มา: FreeCodeCamp ในโพสต์นี้ คุณจะได้เรียนรู้วิธีจัดเรียงอาร์เรย์จากน้อยไปมากหรือจากมากไปน้อยใน Java คอฟฟี่เบรค #136.  จัดเรียงอาร์เรย์จากน้อยไปหามากหรือจากมากไปน้อยโดยใช้ Arrays.sort()  อะไรคือความแตกต่างระหว่างอินเทอร์เฟซรายการและการตั้งค่า?  - 1ใน Java เราใช้อาร์เรย์เพื่อจัดเก็บชุดของตัวแปร (ที่มีประเภทข้อมูลเดียวกัน) ไว้ในตัวแปรตัวเดียว แต่บางครั้งค่าที่เก็บไว้ในอาร์เรย์จะปรากฏแบบสุ่ม ต้องขอบคุณ คลาสArraysใน Java ที่ทำให้เราจัดการอาร์เรย์ได้หลายวิธี รวมถึงการเรียงลำดับอาร์เรย์ด้วย หนึ่งในวิธีที่เราจะใช้จาก คลาส Arraysคือsort() method ซึ่งเรียงลำดับอาร์เรย์จากน้อยไปหามาก หากต้องการเรียงลำดับอาร์เรย์จากมากไปน้อย ให้ใช้ เมธอด ReverseOrder() ของ คลาสCollectionsใน Java

วิธีเรียงลำดับอาร์เรย์จากน้อยไปหามากใน Java โดยใช้ 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 ตอนนี้เรามาพูดถึงการเรียงลำดับอาร์เรย์จากมากไปน้อย

วิธีเรียงลำดับอาร์เรย์จากมากไปน้อยใน Java โดยใช้ 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 }; . อย่างที่คุณเห็น เราใช้Integer[]แทนint[]เหมือนในตัวอย่างก่อนหน้านี้ มิฉะนั้นจะเกิดข้อผิดพลาด ในการจัดเรียงอาร์เรย์จากมากไปน้อย เราทำสิ่งนี้: Arrays.sort(arr, Collections.reverseOrder()); . พารามิเตอร์แรกคืออาร์เรย์arrซึ่งจะถูกเรียงลำดับจากน้อยไปหามาก พารามิเตอร์ตัวที่สองCollections.reverseOrder()จะกลับลำดับของอาร์เรย์ที่เรียงลำดับเพื่อให้อยู่ในลำดับจากมากไปน้อย เมื่อวนซ้ำและพิมพ์ออกมา อาเรย์จะมีลักษณะดังนี้: 10, 8, 5, 2, 1

บทสรุป

ในบทความนี้ เราได้พูดคุยกันเกี่ยวกับการเรียงลำดับอาร์เรย์ใน Java - วิธีจัดเรียงอาร์เรย์จากน้อยไปหามากหรือจากมากไปหาน้อย ในการดำเนินการ นี้เราสามารถใช้ เมธอด sort()ซึ่งสามารถเข้าถึงได้จาก คลาส Arrays sort()วิธีการใช้อาร์เรย์ในการเรียงลำดับเป็นพารามิเตอร์ ในการจัดเรียงอาร์เรย์จากมากไปน้อย เราใช้ วิธี ReverseOrder()ที่ได้รับจากคลาส Collections มันจะถูกส่งผ่านเป็นพารามิเตอร์ตัวที่สองไปยังเมธอดsort()เพื่อให้สามารถเรียงลำดับอาร์เรย์ที่เรียงลำดับใหม่จากมากไปน้อยได้

คอลเลคชันจาวา อะไรคือความแตกต่างระหว่างอินเทอร์เฟซรายการและการตั้งค่า?

ที่มา: รายการ Rrtutors และชุดเป็นอินเทอร์เฟซ Java เพื่อขยาย อินเทอร์เฟซคอ ลเลกชัน ในโพสต์นี้ เราจะดูความแตกต่างที่สำคัญระหว่างทั้งสอง ตลอดจนวิธีใช้งาน

ความแตกต่างระหว่างอินเทอร์เฟซ Set และ List ใน Java

มากำหนดความแตกต่างที่สำคัญระหว่าง อินเทอร์เฟ ซรายการและการตั้งค่าตามพารามิเตอร์หลักต่อไปนี้:

การนำไปปฏิบัติ

Listใช้ArrayListsในขณะที่ HashSetใช้Set

การจัดทำดัชนี

คุณสามารถใช้ListIteratorเพื่อเลื่อนไปข้างหน้าและข้างหลัง ผ่าน List ได้ แต่ ไม่ใช่ ผ่าน Set ใช้ Iterator แทน (ซึ่งใช้ได้กับทั้งListและSet )

คำสั่ง

อินเทอร์เฟซการตั้งค่าไม่สนับสนุนลำดับการตั้งค่าใดๆ โดยเฉพาะ คอลเลกชันของ ประเภทชุดได้รับการจัดเรียงตามกฎของตัวเองแล้ว และไม่สามารถจัดเรียงเช่นนั้นได้ รายการเป็นรายการสั่งซื้อ ออบเจ็กต์จะถูกจัดเก็บตามลำดับที่เพิ่มเข้าไปในรายการ องค์ประกอบรายการเข้าถึงได้โดยดัชนี

วัตถุว่าง

รายการไม่มีข้อจำกัดและรองรับการเพิ่มค่า Null ในขณะที่Setอนุญาตให้มีค่า Null ได้สูงสุดหนึ่งค่า

ซ้ำกัน

รายการสามารถมีรายการซ้ำได้ แต่Setไม่สามารถ ชุดไม่อนุญาตให้มีองค์ประกอบที่ซ้ำกัน เนื่องจากองค์ประกอบทั้งหมดจะต้องไม่ซ้ำกัน หากคุณแทรกองค์ประกอบที่ซ้ำกันลงใน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