11-6 Java集合---- Map接口(4)Map实现类②
四、Map实现类之四:Hashtable
1.Hashtable是个古老的 Map 实现类,JDK1.0就提供了。不同于HashMap,Hashtable是线程安全的。
2.Hashtable实现原理和HashMap相同,功能相同。底层都使用哈希表结构,查询速度快,很多情况下可以互用。
3.与HashMap不同,Hashtable 不允许使用 null 作为 key 和 value
4.与HashMap一样,Hashtable 也不能保证其中 Key-Value 对的顺序
5.Hashtable判断两个key相等、两个value相等的标准,与HashMap一致。
五、Map实现类之五:Properties
1.Properties 类是 Hashtable 的子类,该对象用于处理属性文件
2.由于属性文件里的 key、value 都是字符串类型,所以 Properties 里的 key 和 value 都是字符串类型
3.存取数据时,建议使用setProperty(String key,String value)方法和getProperty(String key)方法
jdbc.properties:
name=Tom
password=abc123456
代码:
package java3;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesTest {
//Propertise: 常用来处理配置文件,key和value都是String类型
public static void main(String[] args){
FileInputStream fis = null;
try {
Properties pros = new Properties();
fis = new FileInputStream("jdbc.properties");
pros.load(fis);//加载流对应的文件
String name = pros.getProperty("name");
String password = pros.getProperty("password");
System.out.println("name = " + name + ", password = " + password);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
输出:
name = Tom, password = abc123456