在Java中,哈希表是一种数据结构,用于存储键值对,并能够通过键快速检索对应的值。Java 提供了两种常用的哈希表实现类:HashMap
和 Hashtable
。这两者的主要区别在于线程安全性:HashMap
是非线程安全的,而 Hashtable
是线程安全的。
下面是关于哈希表相关操作的示例代码,使用的是 HashMap
:
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
// 创建一个HashMap对象
Map<String, Integer> hashMap = new HashMap<>();
// 添加键值对
hashMap.put("Apple", 10);
hashMap.put("Banana", 15);
hashMap.put("Orange", 20);
// 打印HashMap内容
System.out.println("HashMap: " + hashMap);
// 获取指定键的值
int appleCount = hashMap.get("Apple");
System.out.println("Apple count: " + appleCount);
// 检查是否包含某个键
boolean hasBanana = hashMap.containsKey("Banana");
System.out.println("Contains Banana: " + hasBanana);
// 检查是否包含某个值
boolean hasValue15 = hashMap.containsValue(15);
System.out.println("Contains value 15: " + hasValue15);
// 遍历HashMap
for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
// 移除某个键值对
hashMap.remove("Orange");
System.out.println("After removing Orange: " + hashMap);
// 获取HashMap的大小
int size = hashMap.size();
System.out.println("Size of HashMap: " + size);
// 清空HashMap
hashMap.clear();
System.out.println("HashMap after clearing: " + hashMap);
}
}
主要操作说明:
- 创建哈希表: 使用
HashMap<String, Integer>
来创建一个哈希表。 - 添加键值对: 使用
put()
方法添加键值对。 - 获取值: 使用
get()
方法通过键来获取对应的值。 - 检查键或值: 使用
containsKey()
和containsValue()
方法来检查哈希表中是否包含某个键或值。 - 遍历哈希表: 可以使用
entrySet()
方法遍历整个哈希表。 - 删除键值对: 使用
remove()
方法移除指定的键值对。 - 获取大小: 使用
size()
方法获取哈希表的大小。 - 清空哈希表: 使用
clear()
方法清空哈希表中的所有键值对。
你可以根据具体需求选择使用 HashMap
或 Hashtable
。 Hashtable
的用法与 HashMap
类似,只是它的所有操作方法都是同步的。