Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java เรียงลำดับ ArrayList จากน้อยไปมาก (Ascending)


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการเรียงลำดับ ArrayList จากน้อยไปมาก (Ascending order) ลิสต์ (List) เป็นคอลเลกชันที่มีลำดับ ช่วยให้จัดเก็บและเข้าถึงสมาชิกแบบลำดับได้ มีเมธอดแบบดัชนีสำหรับแทรก อัปเดต ลบ และค้นหา สามารถมีสมาชิกซ้ำได้

ตัวอย่างการทำงาน

อินพุทตัวอย่าง:

Input list: [java, coding, is, fun]

เอาต์พุทที่คาดหวัง:

The sorted list is: [coding, fun, is, java]

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศ ArrayList ชื่อ input_list
ขั้นตอนที่ 3 - กำหนดค่า
ขั้นตอนที่ 4 - ใช้ฟังก์ชัน Collections.sort() เพื่อเรียงลำดับลิสต์
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

ตัวอย่างที่ 1: เขียนในฟังก์ชัน main โดยตรง

import java.util.*;

public class Demo {
    public static void main(String args[]) {
        ArrayList input_list = new ArrayList();
        input_list.add("java");
        input_list.add("coding");
        input_list.add("is");
        input_list.add("fun");
        System.out.println("The list is defined as: " + input_list);
        Collections.sort(input_list);
        System.out.println("The sorted list is: " + input_list);
    }
}

เอาต์พุท

The list is defined as: [java, coding, is, fun]
The sorted list is: [coding, fun, is, java]

ตัวอย่างที่ 2: ใช้เมธอดแยก (Object-Oriented Style)

import java.util.*;

public class Demo {
    static void sort(ArrayList input_list) {
        Collections.sort(input_list);
        System.out.println("The sorted list is: " + input_list);
    }
    
    public static void main(String args[]) {
        ArrayList input_list = new ArrayList();
        input_list.add("java");
        input_list.add("coding");
        input_list.add("is");
        input_list.add("fun");
        System.out.println("The list is defined as: " + input_list);
        sort(input_list);
    }
}

เอาต์พุท

The list is defined as: [java, coding, is, fun]
The sorted list is: [coding, fun, is, java]

ข้อมูลเพิ่มเติม:

  • Collections.sort() เรียงตาม natural ordering (สำหรับ String คือลำดับเลขอักษร/พจนานุกรม)
  • สำหรับการเรียงจากมากไปน้อย (Descending): Collections.sort(list, Collections.reverseOrder())
  • สำหรับ Custom Object: ให้ implements Comparable หรือใช้ Comparator
  • Java 8+: list.sort(Comparator.naturalOrder()) หรือ list.stream().sorted().collect(...)