【JAVA 基础 第(19)课】Hashtable 类用法和注意细节,是Map接口的实现类

Map接口:存放的是具有映射关系的键值对,键映射到值,键必须是唯一的

Hashtable 类,Map接口的实现类,键和值都不能为null
Hashtable 是同步的,是线程安全的

java 复制代码
public class MapTest {
	public static void main(String[] args) {
		//创建一个空的Map
		Hashtable ht = new Hashtable();	
	
		//增加
		ht.put("hello", 123) ;
		//ht.put(null, "java");   //null不能作为键
		ht.put(100, 123);		//只可以重复
		//ht.put(true, null);		//null不能作为值	
		ht.put("java", true);	
	
		//删除:根据键删除
		ht.remove(100);  //自动加包	
	
		//修改
		ht.put("hello",true);	//键不能重复		

		//查询:返回键映射的值
		Object value = ht.get("hello");
		System.out.println("value="+value);
 		
		//遍历
		Set keys = ht.keySet();  //keySet():返回哈希表的键(集)		
		//集合专用的迭代器
		System.out.println("--集合专用的迭代器--");
		Iterator it = keys.iterator();  //返回集的迭代器
		while(it.hasNext()){
			Object key = it.next();   //迭代获取一个键
			Object value1 = ht.get(key);	//返回键映射的值
			System.out.println(key+"--"+value1); 
		}	
	
		//简洁for循环
		System.out.println("--简洁for循环--");
		for(Object key:keys){
			Object value2 = ht.get(key);
			System.out.println(key+"--"+value2);
		}
		
		
		//输出
		System.out.println("哈希表长度?"+ht.size()); 
		System.out.println("是否为空?"+ht.isEmpty()); 
		System.out.println(ht); 
		
	}

}

输出:

value=true

--集合专用的迭代器--

java--true

hello--true

--简洁for循环--

java--true

hello--true

哈希表长度?2

是否为空?false

{java=true, hello=true}

相关推荐
行者964 分钟前
Flutter适配OpenHarmony:国际化i18n实现中的常见陷阱与解决方案
开发语言·javascript·flutter·harmonyos·鸿蒙
csbysj20206 分钟前
RSS 阅读器:全面解析与使用指南
开发语言
毕设源码-朱学姐9 分钟前
【开题答辩全过程】以 高校图书馆管理系统为例,包含答辩的问题和答案
java
xie_pin_an11 分钟前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法
Wpa.wk11 分钟前
性能测试-初识性能测试基础(性能测试流程,计划等)
java·运维·经验分享·测试工具·性能测试
溪海莘13 分钟前
如何部署使用uv管理依赖的python项目 ?
开发语言·python·uv
我送炭你添花15 分钟前
Python与串口:从基础到实际应用——以Pelco KBD300A模拟器项目为例
开发语言·python·自动化·运维开发
No0d1es15 分钟前
2025年12月 GESP CCF编程能力等级认证C++八级真题
开发语言·c++·青少年编程·gesp·ccf
小鸡脚来咯16 分钟前
Java 关键字面试解释指南
java
hqwest35 分钟前
码上通QT实战10--监控页面02-绘制温度盘
开发语言·qt·自定义控件·qwidget·提升部件·qt绘图