บทช่วยสอนJava

Java HOME Java Intro Java เริ่มต้น Java Syntax ความคิดเห็นของ Java ตัวแปร Java Java Data Types การหล่อแบบจาวา ตัวดำเนินการ Java Java Strings Java Math Java Booleans Java If...Else Java Switch Java ในขณะที่ลูป Java สำหรับลูป Java Break/ต่อ Java Arrays

เมธอดของจาวา

เมธอดของจาวา พารามิเตอร์เมธอด Java วิธี Java โอเวอร์โหลด ขอบเขต Java Java Recursion

คลาส Java

Java OOP Java Classes/Objects คุณสมบัติคลาส Java วิธีการคลาส Java Java Constructors Java Modifiers การห่อหุ้มด้วยจาวา แพ็คเกจ Java / API มรดกจาวา Java Polymorphism Java Inner Classes Java Abstraction อินเทอร์เฟซ Java Java Enums อินพุตผู้ใช้ Java Java วันที่ Java ArrayList Java LinkedList Java HashMap Java HashSet Java Iterator คลาส Java Wrapper ข้อยกเว้น Java Java RegEx Java Threads จาวา แลมบ์ดา

การจัดการไฟล์ Java

ไฟล์ Java Java สร้าง/เขียนไฟล์ Java อ่านไฟล์ Java ลบไฟล์

Java ฮาวทู

เพิ่มสองตัวเลข

Java Reference

คีย์เวิร์ด Java เมธอด Java String Java Math Methods

ตัวอย่าง Java

ตัวอย่าง Java Java Compiler แบบฝึกหัด Java Java Quiz ใบรับรอง Java


Java HashMap


Java HashMap

ในArrayListบทนี้ คุณได้เรียนรู้ว่า Arrays จัดเก็บรายการเป็นคอลเลกชันที่สั่งซื้อ และคุณต้องเข้าถึงรายการเหล่านี้ด้วยหมายเลขดัชนี ( intประเภท) A HashMapอย่างไรก็ตาม จัดเก็บรายการในคู่ " คีย์ / ค่า " และคุณสามารถเข้าถึงได้โดยดัชนีประเภทอื่น (เช่น a String)

วัตถุหนึ่งถูกใช้เป็นคีย์ (ดัชนี) ไปยังวัตถุอื่น (ค่า) สามารถจัดเก็บประเภทต่าง ๆ ได้: Stringคีย์และIntegerค่า หรือชนิดเดียวกัน เช่น: Stringคีย์และStringค่า:

ตัวอย่าง

สร้างHashMapวัตถุที่เรียกว่าCapitalCitiesซึ่งจะเก็บString คีย์และString ค่า ต่างๆ :

import java.util.HashMap; // import the HashMap class

HashMap<String, String> capitalCities = new HashMap<String, String>();

เพิ่มรายการ

ชั้นHashMapเรียนมีวิธีการที่มีประโยชน์มากมาย ตัวอย่างเช่น หากต้องการเพิ่มรายการ ให้ใช้put()วิธีการ:

ตัวอย่าง

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap<String, String> capitalCities = new HashMap<String, String>();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}


เข้าถึงรายการ

ในการเข้าถึงค่าใน ให้HashMapใช้get()เมธอดและอ้างถึงคีย์ของมัน:

ตัวอย่าง

capitalCities.get("England");


ลบรายการ

หากต้องการลบรายการ ให้ใช้remove()วิธีการและอ้างถึงคีย์:

ตัวอย่าง

capitalCities.remove("England");

หากต้องการลบรายการทั้งหมด ให้ใช้clear()วิธีการ:

ตัวอย่าง

capitalCities.clear();



ขนาด HashMap

หากต้องการทราบว่ามีกี่รายการ ให้ใช้size()วิธีการ:

ตัวอย่าง

capitalCities.size();


วนซ้ำผ่าน HashMap

วนซ้ำรายการของ a HashMapด้วยfor-each loop

หมายเหตุ:ใช้keySet()เมธอดถ้าคุณต้องการเฉพาะคีย์ และใช้values()เมธอดถ้าคุณต้องการเฉพาะค่า:

ตัวอย่าง

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}

ตัวอย่าง

// Print values
for (String i : capitalCities.values()) {
  System.out.println(i);
}

ตัวอย่าง

// Print keys and values
for (String i : capitalCities.keySet()) {
  System.out.println("key: " + i + " value: " + capitalCities.get(i));
}


ประเภทอื่นๆ

คีย์และค่าใน HashMap เป็นอ็อบเจ็กต์จริงๆ ในตัวอย่างข้างต้น เราใช้วัตถุประเภท "สตริง" โปรดจำไว้ว่า String ใน Java เป็นอ็อบเจ็กต์ (ไม่ใช่ประเภทดั้งเดิม) หากต้องการใช้ประเภทอื่น เช่น int คุณต้องระบุคลาส wrapperIntegerที่ เทียบเท่า : สำหรับประเภทดั้งเดิมอื่นๆ ให้ใช้: BooleanสำหรับบูลีนCharacterสำหรับถ่านDoubleสำหรับดับเบิล ฯลฯ:

ตัวอย่าง

สร้างHashMapวัตถุที่เรียกว่า คนที่จะเก็บString คีย์และ Integer ค่า :

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {

    // Create a HashMap object called people
    HashMap<String, Integer> people = new HashMap<String, Integer>();


    // Add keys and values (Name, Age)
    people.put("John", 32);
    people.put("Steve", 30);
    people.put("Angie", 33);

    for (String i : people.keySet()) {
      System.out.println("key: " + i + " value: " + people.get(i));
    }
  }
}