【Java】HashMap和Hashtable的简单例子

本文通过一个简单的Java程序对比了HashMap与Hashtable的区别。演示了两者如何存储键值对,并展示了当尝试将null作为值插入时的行为差异。HashMap允许将null作为值,而Hashtable则不允许。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package cn.edu.hit.soft.study;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HashMapTable {
	public static void main(String[] args) {
		Map map = new HashMap();
		Hashtable table = new Hashtable();

		map.put("map_key_1", "value_1");
		map.put( "map_key_2", null);

		
		table.put("table_key_1", "table_value_1");
		table.put("table_key_2", "table_value_2");
		//table.put("table_key_3", null); /**table中允许有null( key和value中任一)*/

		Set map_ety = map.entrySet();
		//HashMap 和Hashtable 中元素在遍历的时候是后进先出,栈的结构
		for(Iterator iter = map_ety.iterator(); iter.hasNext(); ){
			Map.Entry ety = (Map.Entry)iter.next();
			System.out.println(ety.getKey() + "====" + ety.getValue());
		}
		for( Enumeration e = table.keys(); e.hasMoreElements(); ){
			String key = (String)e.nextElement();
			System.out.println( key + "=====" + table.get(key));
		}
	}
}
 

运行结果:

map_key_2====null

map_key_1====value_1

table_key_2=====table_value_2

table_key_1=====table_value_1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值