Java小白入门教程:HashMap
目录
一、定义
二、作用
1、存储键值对
2、快速查找
3、动态扩容
三、使用场景
1、当你需要根据键快速查找值时
2、当你不需要保持元素的顺序时(HashMap不保证元素的顺顺序)。
3、当你需要存储大量的键值对,并且频繁地进行插入和删除操作时。
四、语法及示例
1、创建HashMap
2、添加元素
3、获取元素
4、修改元素
5、删除元素
6、检查键是否存在
7、检查值是否存在
8、获取大小
9、遍历HashMap
10、清空HashMap
五、完整示例
一、定义
HashMap是Java中的一个类,它实现了Map接口,用于存储键值对(key-value pairs)。每个键值对被称为一个条目(entry)。HashMap内部使用哈希表来存储数据,这使得它可以非常快速地检索数据。
二、作用
1、存储键值对
你可以将一个对象作为键(key)来存储另一个对象作为值(value)
2、快速查找
通过键来快速查找对应的值
3、动态扩容
当HashMap中的条目数量达到一定比例时,它会自动扩容以保持操作的高效性。
三、使用场景
1、当你需要根据键快速查找值时
2、当你不需要保持元素的顺序时(HashMap不保证元素的顺顺序)。
3、当你需要存储大量的键值对,并且频繁地进行插入和删除操作时。
四、语法及示例
1、创建HashMap
import java.util.HashMap; // 引入HashMap类
// 创建一个键为String类型,值为Integer类型的HashMap
HashMap<String, Integer> map = new HashMap<String, Integer>();
2、添加元素
map.put("苹果", 10); // 添加一个键值对,键为"苹果",值为10
map.put("香蕉", 5); // 添加另一个键值对
3、获取元素
Integer apples = map.get("苹果"); // 通过键获取值
4、修改元素
map.put("苹果", 15); // 修改键为"苹果"的值
5、删除元素
map.remove("苹果"); // 删除键为"苹果"的键值对
6、检查键是否存在
boolean hasApples = map.containsKey("苹果"); // 检查是否包含键为"苹果"的键值对
7、检查值是否存在
boolean hasValue5 = map.containsValue(5); // 检查是否包含值为5的键值对
8、获取大小
int size = map.size(); // 获取HashMap的大小
9、遍历HashMap
for (String key : map.keySet()) {
System.out.println("键: " + key + ", 值: " + map.get(key)); // 遍历键并打印键值对
}
10、清空HashMap
map.clear(); // 清空HashMap中的所有键值对
五、完整示例
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> fruitQuantities = new HashMap<String, Integer>();
// 添加元素
fruitQuantities.put("苹果", 10);
fruitQuantities.put("香蕉", 5);
// 输出所有元素
System.out.println("水果库存:" + fruitQuantities);
// 修改元素
fruitQuantities.put("苹果", 15);
// 删除元素
fruitQuantities.remove("香蕉");
// 遍历HashMap
System.out.println("修改后的水果库存:");
for (String fruit : fruitQuantities.keySet()) {
System.out.println("水果:" + fruit + ",数量:" + fruitQuantities.get(fruit));
}
// 获取大小
System.out.println("库存中水果种类数量:" + fruitQuantities.size());
}
}