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

แมปและการนับความถี่

พื้นฐานของ Map (put/get/remove) การวนผ่านรายการคู่ข้อมูล ตัวนับความถี่คำ และ TreeMap สำหรับมุมมองที่เรียงลำดับแล้ว

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

Map คืออะไร

Map ใช้เก็บคู่คีย์→ค่า ตัวเลือกที่เหมาะสมมีดังนี้:

  • HashMap: ทำงานเร็วและไม่รักษาลำดับ
  • TreeMap: เรียงลำดับคีย์
  • LinkedHashMap: จดจำลำดับการเพิ่มข้อมูล

การดำเนินการทั่วไป

การดำเนินการหลัก:

  • put(k,v), get(k), containsKey(k), remove(k)
  • ขนาด: size()
  • วนซ้ำ: ใช้ entrySet() เพื่อเข้าถึงทั้งคีย์และค่า

โค้ด: พื้นฐาน Map

คีย์ไม่ซ้ำกัน การใช้คีย์เดิมอีกครั้งจะแทนที่ค่าของคีย์นั้น ใช้ entrySet() เพื่อวนซ้ำผ่านรายการคู่ข้อมูล

public class Main {
  public static void main(String[] args) {
    java.util.Map<String, Integer> scores = new java.util.HashMap<>();
    scores.put("Ada", 90);
    scores.put("Bob", 75);
    scores.put("Ada", 95); // replaces old value

    System.out.println("Bob's score=" + scores.get("Bob"));
    System.out.println("Has Ada? " + scores.containsKey("Ada"));
    scores.remove("Bob");

    for (java.util.Map.Entry<String, Integer> e : scores.entrySet()) {
      System.out.println(e.getKey() + " -> " + e.getValue());
    }
  }
}

แนวคิดเรื่องความถี่

การนับคำ: วนผ่านคำต่าง ๆ และอัปเดตค่าด้วย getOrDefault: map.put(w, map.getOrDefault(w,0)+1)

โค้ด: ความถี่ของคำ

getOrDefault ทำให้การนับกระชับขึ้น แต่ละคำจะเพิ่มค่าปัจจุบันของตนขึ้นอีก 1

public class Main {
  public static void main(String[] args) {
    String[] words = { "to", "be", "or", "not", "to", "be" };
    java.util.Map<String,Integer> counter = new java.util.HashMap<>();

    for (String w : words) {
      int newVal = counter.getOrDefault(w, 0) + 1;
      counter.put(w, newVal);
    }
    System.out.println(counter);
  }
}

โค้ด: TreeMap ที่เรียงลำดับ

TreeMap เรียงลำดับคีย์โดยอัตโนมัติ จึงเป็นวิธีที่รวดเร็วในการแสดงผลลัพธ์ตามลำดับตัวอักษร

public class Main {
  public static void main(String[] args) {
    java.util.Map<String,Integer> counts = new java.util.HashMap<>();
    counts.put("banana",2);
    counts.put("apple",3);
    counts.put("cherry",1);

    java.util.Map<String,Integer> sorted = new java.util.TreeMap<>(counts);
    for (java.util.Map.Entry<String,Integer> e : sorted.entrySet()) {
      System.out.println(e.getKey() + " -> " + e.getValue());
    }
  }
}

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

ตรวจสอบอย่างรวดเร็ว: ข้อความใดเกี่ยวกับ HashMap ที่ถูกต้อง

ทบทวน

ทบทวน: Map ใช้เก็บคู่คีย์→ค่า คุณได้เรียนรู้การใช้ put/get/remove การนับคำด้วย getOrDefault และมุมมองที่เรียงลำดับด้วย TreeMap

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

บทเรียน “แมปและการนับความถี่” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “แมปและการนับความถี่”

พื้นฐานของ Map (put/get/remove) การวนผ่านรายการคู่ข้อมูล ตัวนับความถี่คำ และ TreeMap สำหรับมุมมองที่เรียงลำดับแล้ว คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “แมปและการนับความถี่” ใช้เวลานานแค่ไหน

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

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

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

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

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