摘要:的区别和的区别一,他们继承的父类不一样继承于抽象类继承于抽象类二,线程不安全,线程安全如何将变成线程安全的,使用下面的方法线程不安全,非同步,一般效率相对高一些三,允许键值为不可以。
HashTable,HashMap,Properties 的区别
HashMap 和 HashTable的区别
一,他们继承的父类不一样
1,HashTable继承于抽象类 Dictionary
public class Hashtableextends Dictionary
2,HashMap 继承于抽象类 java.util.AbstractMap
二,HashMap线程不安全,HashTable线程安全
HashMap:Note that this implementation is not synchronized. 如何将HashMap变成线程安全的,使用下面的方法:
Map m = Collections.synchronizedMap(new HashMap(...));
线程不安全,非同步,一般效率相对高一些
三,HashMap 允许键,值为 null, HashTable 不可以。
JDK:Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls.) This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time. JDK:Any non-null object can be used as a key and as a value.(键,值不能为空)
三,Properties 与 HashTable 的区别
Properties 是HashTable的子类
public class Properties extends Hashtable
并且是线程安全的,
JDK:This class is thread-safe: multiple threads can share a single Properties object without the need for external synchronization.
使用properties输出到文件
资源配置文件
1,.properties
store(OutputStream out, String comments)
store(Writer writer, String comments)
2,.xml
storeToXML(OutputStream os, String comment)
storeToXML(OutputStream os, String comment, String encoding)
Properties pro = new Properties(); pro.setProperty("name", "mk"); pro.setProperty("url", "www.baidu.com"); //存储到 d盘盘符 1,存储为.properties 文件 pro.store(new FileOutputStream(new File("D://db.properties")), "db配置文件"); //2,存储为 .xml文件 // pro.storeToXML(new FileOutputStream(new File("D://db.xml")), "db配置文件"); //使用相对路径 当前的项目根目录 // pro.store(new FileOutputStream(new File("db.properties")), "db配置文件");
使用Properties读取资源配置文件
load(InputStream inStream)
load(Reader reader)
loadFromXML(InputStream in)
Properties pro = new Properties(); //读取绝对路径 pro.load(new FileReader("D://db.properties")); //读取相对路径 pro.loadFromXML(new FileInputStream("D://db.xml"));
如果文件保存在bin里面,也是在我们工作中经常碰到的一种情况
Properties pro = new Properties(); pro.load(Demo.class.getResourceAsStream("/project/db.properties")); pro.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("project/db.properties"));
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/64821.html
摘要:增强的集合都可以是任何引用类型的数据,的不允许重复即同一个对象的任何两个通过方法比较总是返回。的这些实现类和子接口中集的存储形式和对应集合中元素的存储形式完全相同。根据的自然顺序,即枚举值的定义顺序,来维护对的顺序。 Java8增强的Map集合 Key-value都可以是任何引用类型的数据,Map的Key不允许重复即同一个Map对象的任何两个key通过equals方法比较总是返回...
摘要:和之间存在单向一对一关系,即通过指定的,总能找到唯一的确定的。从中取出数据时,只要给出指定的,就可以取出对应的。有时也称为字典,或关联数组。采用定制排序时不要求的实现接口中判断两个相等的标准是两个通过方法返回,即认为这两个是相等的。 map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value...
package com.itheima.demo03.Map; import java.util.HashMap;import java.util.LinkedHashMap; /* java.util.LinkedHashMap entends HashMap Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。 底层原理: 哈希表+链表(记录元素的顺序) */public cla...
摘要:面试总结最近两周面试了几家公司高级工程师的职位,主要有宜信网信金融阿里高德口袋购物。目前有部分公司已经面试通过,两家在等消息。今天趁热把常见面试内容总结一下。可以用来完成统一命名服务状态同步服务集群管理分布式应用配置项等管理工作。 面试总结 最近两周面试了几家公司Java高级工程师的职位,主要有宜信、网信金融、阿里高德、口袋购物。目前有部分公司已经面试通过,两家在等消息。今天趁热把常见...
阅读 534·2019-08-30 15:55
阅读 943·2019-08-29 15:35
阅读 1197·2019-08-29 13:48
阅读 1909·2019-08-26 13:29
阅读 2932·2019-08-23 18:26
阅读 1236·2019-08-23 18:20
阅读 2833·2019-08-23 16:43
阅读 2708·2019-08-23 15:58