0Pricing
Java Academy · บทเรียน

การเรียงลำดับและค้นหาด้วย Collections

ใช้ Collections.sort, Collections.binarySearch และ Comparator สำหรับการเรียงลำดับและค้นหาแบบกำหนดเอง

การเรียงลำดับและค้นหาด้วย Collections เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน

เกริ่นนำ

การเรียงลำดับช่วยจัดระเบียบข้อมูลเพื่อให้ค้นหาได้รวดเร็ว Collections ของ Java มีเครื่องมือ sort และ binarySearch ในตัว

พื้นฐานการเรียงลำดับ

Collections.sort เรียงลำดับ List โดยเปลี่ยนแปลงข้อมูลเดิม ตามค่าเริ่มต้นจะใช้ลำดับธรรมชาติ เช่น ตัวเลขจากน้อยไปมาก และข้อความจาก A ถึง Z

โค้ด: การเรียงลำดับธรรมชาติ

ลำดับธรรมชาติของ Integer คือการเรียงจากน้อยไปมาก sort() เปลี่ยนแปลง List เดิม

public class Main {
  public static void main(String[] args) {
    java.util.List<Integer> nums = new java.util.ArrayList<>();
    nums.add(5); nums.add(1); nums.add(3);
    java.util.Collections.sort(nums);
    System.out.println(nums); // [1,3,5]
  }
}

การเรียงลำดับแบบกำหนดเอง

คุณสามารถส่ง Comparator ให้ sort เพื่อเรียงลำดับแบบใดก็ได้ เช่น ย้อนกลับ เรียงตามความยาว หรือใช้กฎที่กำหนดเองอื่น ๆ

โค้ด: เรียงตามความยาว

Comparator นี้เรียงลำดับข้อความตามความยาว

public class Main {
  public static void main(String[] args) {
    java.util.List<String> words = new java.util.ArrayList<>();
    words.add("Java"); words.add("C"); words.add("Python");

    java.util.Collections.sort(words, (a,b) -> a.length() - b.length());
    System.out.println(words); // [C, Java, Python]
  }
}

โค้ด: binarySearch

binarySearch ค้นหาตำแหน่งขององค์ประกอบได้อย่างรวดเร็ว แต่ List ต้องถูกเรียงลำดับไว้อย่างสอดคล้องกันก่อน

public class Main {
  public static void main(String[] args) {
    java.util.List<Integer> nums = new java.util.ArrayList<>();
    nums.add(1); nums.add(3); nums.add(5); nums.add(7);
    int idx = java.util.Collections.binarySearch(nums, 5);
    System.out.println("Index of 5 = " + idx);
  }
}

แบบฝึกตรวจสอบ binarySearch

ตรวจสอบอย่างรวดเร็ว: ก่อนใช้ Collections.binarySearch ต้องเป็นไปตามเงื่อนไขใด

ทบทวน

ทบทวน: ใช้ sort() เพื่อจัดลำดับ และใช้ binarySearch() เพื่อค้นหาอย่างรวดเร็ว Comparator แบบกำหนดเองช่วยให้คุณสร้างกฎการเรียงลำดับที่ยืดหยุ่นได้

คำถามที่พบบ่อย

บทเรียน “การเรียงลำดับและค้นหาด้วย Collections” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเรียงลำดับและค้นหาด้วย Collections” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเรียงลำดับและค้นหาด้วย Collections”

ใช้ Collections.sort, Collections.binarySearch และ Comparator สำหรับการเรียงลำดับและค้นหาแบบกำหนดเอง คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน

บทเรียน “การเรียงลำดับและค้นหาด้วย Collections” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม

ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แมปและการนับความถี่
  2. Comparable กับ Comparator
  3. การเรียงลำดับและค้นหาด้วย Collections
← กลับไปที่ Java Academy