初学Java,Hashtable,HashMap,LinkedHashMap和Properties(三十一)

Hashtable,呵呵,这个类的命名有问题啊,table的T没有大写,而C#中就是HashTable,这个类很"老",在JDK1.0就出现了,可能当时并没有人发现它的命名问题,待到后来已经牵涉到太多的其它类,此时已经无法轻易的修改它的名字了,也就这么着了,属于历史遗留问题.

Hashtable与HashMap这两个类似乎很像,但还是有区别的 ,Hashtable是一个线程安全的Map实现,但HashMap不是,所以HashMap的性能会高一些,如果多个线程访问同一个Map对象时,使用Hashtable会更好.

Hashtable不允许使用null作为Key和Vaule,试图把null放入Hashtable会得到NullPointerException异常,但HashMap可以使用null作为Key或Vaule

LinkedHashMap是HashMap的子类,也使用了双向链表来维护Key-Value次序,次序与插入元素的次序一致

Properties是Hashtable类的子类,在处理属性文件时特别方便(如windows平台的ini文件),Properties类可以把Map对象和属性文件关联起来,把Map对象中的key-value对写入属性文件,也可以把属性文件中的 "属性名 = 属性值"加载到Map对象中。Properties的key和value都只能是字符串类型

import java.util.*;
import java.io.*;
public class TestProperties 
{
	public static void main(String[] args) throws Exception
	{
		Properties props = new Properties();
		//向Properties中增加属性
		props.setProperty("username","yeeku");
		props.setProperty("password","123456");
		//将Properties中的属性保存到a.ini文件中
		props.store(new FileOutputStream("a.ini"),"comment line");
		//新建一个Properties对象
		Properties props2 = new Properties();
		//向Properties中增加属性
		props2.setProperty("gender","male");
		//将a.ini文件中的属性名-属性值追加到props2中
		props2.load(new FileInputStream("a.ini"));
		System.out.println(props2);
	}
}
打印出的文字为:

{password=123456,gender=male,username=yeeku}

a.ini 文件内容如下:

#comment line
#Wed Feb 22 22:17:41 CST 2012
password=123456
username=yeeku

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值