目录
一、定义
二、作用
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
java">import java.util.HashMap; // 引入HashMap类// 创建一个键为String类型,值为Integer类型的HashMap
HashMap<String, Integer> map = new HashMap<String, Integer>();
2、添加元素
java">map.put("苹果", 10); // 添加一个键值对,键为"苹果",值为10
map.put("香蕉", 5); // 添加另一个键值对
3、获取元素
java">Integer apples = map.get("苹果"); // 通过键获取值
4、修改元素
java">map.put("苹果", 15); // 修改键为"苹果"的值
5、删除元素
java">map.remove("苹果"); // 删除键为"苹果"的键值对
6、检查键是否存在
java">boolean hasApples = map.containsKey("苹果"); // 检查是否包含键为"苹果"的键值对
7、检查值是否存在
java">boolean hasValue5 = map.containsValue(5); // 检查是否包含值为5的键值对
8、获取大小
java">int size = map.size(); // 获取HashMap的大小
9、遍历HashMap
java">for (String key : map.keySet()) {System.out.println("键: " + key + ", 值: " + map.get(key)); // 遍历键并打印键值对
}
10、清空HashMap
java">map.clear(); // 清空HashMap中的所有键值对
五、完整示例
java">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("香蕉");// 遍历HashMapSystem.out.println("修改后的水果库存:");for (String fruit : fruitQuantities.keySet()) {System.out.println("水果:" + fruit + ",数量:" + fruitQuantities.get(fruit));}// 获取大小System.out.println("库存中水果种类数量:" + fruitQuantities.size());}
}