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));
}
}
}