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

ยูทิลิตีของคอลเลกชัน

ใช้ยูทิลิตีที่มีประโยชน์จาก java.util.Collections ได้แก่ sort, reverse, shuffle, ค่าต่ำสุด/สูงสุด, frequency, addAll และมุมมองที่แก้ไขไม่ได้

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

ภาพรวม

คลาสตัวช่วย Collections มีเครื่องมือขนาดเล็กที่ช่วยประหยัดเวลา ได้แก่ sort, reverse, shuffle, min/max, frequency, addAll และ unmodifiableList เครื่องมือเหล่านี้อยู่ใน java.util.Collections

การดำเนินการกับข้อมูลเดิม

เมธอดที่ทำงานกับข้อมูลเดิม (sort, reverse, shuffle) จะเปลี่ยนแปลง List ที่ส่งให้โดยตรง สำหรับ Set ให้คัดลอกเป็น List ก่อนเรียงลำดับ เพื่อให้อ่านโค้ดได้ง่าย ควรแสดงผลก่อนและหลังเมื่อมีการเปลี่ยนแปลงข้อมูล

โค้ด: sort/reverse/shuffle

sort ใช้ลำดับธรรมชาติ reverse กลับลำดับของรายการ และ shuffle สุ่มลำดับใหม่ ทั้งหมดเปลี่ยนแปลงอินสแตนซ์ List เดิม

public class Main {
  public static void main(String[] args) {
    java.util.List<String> names = new java.util.ArrayList<>();
    names.add("Bob"); names.add("Ada"); names.add("Cyd");

    System.out.println("orig=" + names);
    java.util.Collections.sort(names);          // natural order (A–Z)
    System.out.println("sorted=" + names);
    java.util.Collections.reverse(names);       // reverse order
    System.out.println("reversed=" + names);
    java.util.Collections.shuffle(names);       // random order
    System.out.println("shuffled=" + names);
  }
}

ค่าต่ำสุด/สูงสุดและความถี่

min และ max เลือกองค์ประกอบตามลำดับธรรมชาติ ส่วน frequency(list, x) นับจำนวนครั้งที่องค์ประกอบหนึ่งปรากฏ เหมาะสำหรับสถิติขนาดเล็กและการทดสอบ

โค้ด: min/max/frequency

เครื่องมือเหล่านี้ส่งค่ากลับโดยไม่เปลี่ยนแปลง List ตัวเลขด้านบนคำนวณโดยใช้ลำดับธรรมชาติของ Integer

public class Main {
  public static void main(String[] args) {
    java.util.List<Integer> nums = new java.util.ArrayList<>();
    nums.add(7); nums.add(3); nums.add(7); nums.add(1);

    int min = java.util.Collections.min(nums);
    int max = java.util.Collections.max(nums);
    int freq7 = java.util.Collections.frequency(nums, 7);

    System.out.println("min=" + min + ", max=" + max + ", count(7)=" + freq7);
  }
}

โค้ด: addAll และ unmodifiableList

addAll มีประโยชน์สำหรับสร้างรายการ ส่วน unmodifiableList สร้างมุมมองแบบอ่านอย่างเดียวเพื่อป้องกันการเปลี่ยนแปลงโดยไม่ตั้งใจ

public class Main {
  public static void main(String[] args) {
    java.util.List<String> a = new java.util.ArrayList<>();
    java.util.Collections.addAll(a, "red", "green");

    java.util.List<String> b = new java.util.ArrayList<>();
    java.util.Collections.addAll(b, "blue", "green");

    // merge b into a
    a.addAll(b);
    System.out.println("merged=" + a); // [red, green, blue, green]

    // create a read-only view
    java.util.List<String> readOnly = java.util.Collections.unmodifiableList(a);
    System.out.println("readonly size=" + readOnly.size());
    // readOnly.add("x"); // would throw UnsupportedOperationException if uncommented
  }
}

แบบฝึกตรวจสอบเครื่องมือ Collections

ตรวจสอบอย่างรวดเร็ว: โดยค่าเริ่มต้น Collections.sort(list) ทำอะไร

ทบทวน

ทบทวน: ใช้ Collections เพื่อประหยัดเวลา: sort/reverse/shuffle สำหรับจัดลำดับ min/max/frequency สำหรับสถิติขนาดเล็ก addAll สำหรับรวมรายการ และ unmodifiableList สำหรับมุมมองแบบอ่านอย่างเดียว

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

บทเรียน “ยูทิลิตีของคอลเลกชัน” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ยูทิลิตีของคอลเลกชัน”

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

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

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

บทเรียน “ยูทิลิตีของคอลเลกชัน” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ภาพรวมของ List และ Set
  2. ตัววนซ้ำและ for แบบเสริม
  3. ยูทิลิตีของคอลเลกชัน
← กลับไปที่ Java Academy