java.util.Properties Vs java.util.Map<;字符串,字符串>;

java.util.Properties Vs java.util.Map<;字符串,字符串>;,java,properties,hashmap,Java,Properties,Hashmap,我只是想知道。java.util.Properties与java.util.HashMap之间有什么区别?哪个更好 properties扩展了默认情况下同步的哈希表。默认情况下,HashMap不同步。您正在用内置线程安全性换取性能的轻微提高,而这一点您可能无法衡量 Properties是Java 1.0中较旧的类。HashMap是Joshua Bloch最新的collections API的一部分。java.util.Properties是一个哈希表,因此您可以将其视为java.util.Has

我只是想知道。
java.util.Properties
java.util.HashMap
之间有什么区别?哪个更好

properties扩展了默认情况下同步的哈希表。默认情况下,HashMap不同步。您正在用内置线程安全性换取性能的轻微提高,而这一点您可能无法衡量


Properties是Java 1.0中较旧的类。HashMap是Joshua Bloch最新的collections API的一部分。

java.util.Properties
是一个
哈希表
,因此您可以将其视为
java.util.HashMap


属性很好处理。。。属性:)如果您将其用于其他目的,那么您的选择将取决于程序中的并发管理

您拥有用于线程安全的现代
ConcurrentHashMap
。不要真正使用
Properties
,除非您使用它来读取
.Properties
文件。

它们类似,但从设计角度来看,该类被认为是java的“错误”之一,因为它是一个(而不是使用哈希表)。它应该是一个接口

尽可能使用摘要,因此这是首选:

Map<String, String> stuff = new HashMap<String, String>();
Map stuff=newhashmap();

倾向于避免使用
Properties
,除非您必须这样做。

Properties类是哈希表的扩展,基本上增加了以设置格式从磁盘写入和读取的功能(如下所示的文本-值对):


如果要将其存储到磁盘并使用该格式,请使用Properties,否则请使用HashMap或Hashtable。

这两个实用程序类的用途不同。Map,或者在您的例子中,HashMap是一个通用存储对象,在这里您有唯一的键和它们所指向的值。HashMap可以将任何对象类型作为其键,将任何对象类型作为其值

然而,java.util.Properties是一个特殊用途的映射。它的开发目的是读取/写入属性文件。它有特殊的方法来实现这一点[请参见
load(..)
]。地图没有

所以,你可以在不同的情况下使用它们。在需要读取属性的地方,最好使用属性。在某些逻辑中需要存储查找值的地方,可以使用
HashMap

没有硬性规定,可以互换使用
HashMap
Properties
。但作为一名工程师,使用正确的工具完成任务。

Dup
key1=value1
key2=value2