ちょうど知りたかったです。 java.util.Properties
Vs java.util.HashMap<String, String>
の違いは何ですか?どちらが望ましいですか?java.util.Properties対java.util.Map <String、String>
答えて
それらは類似しているが、それは、(ハッシュテーブルを使用してではなく、)Hashtable
あるため、設計の観点から、Properties
クラスは、Java(登録商標)の「ミス」の一つであると考えられています。それはインターフェースであったはずです。
常に可能な場合は、抽象を使用するので、これが好ましい:
Map<String, String> stuff = new HashMap<String, String>();
あなたがにしていない限り、Properties
を使用して避ける傾向にあります。あなたはそれをディスクに保存したい場合は
key1=value1
key2=value2
:
プロペットは、デフォルトで同期されるハッシュテーブルを拡張します。 HashMapはデフォルトでは同期されていません。組み込みのスレッドセーフティをわずかなパフォーマンス向上のために交換しています.1つは測定できない可能性が高いスレッドです。
プロパティはJava 1.0の古いクラスです。 HashMapは、Joshua Blochの新しいコレクションAPIの一部です。 )あなたが他の目的のためにそれを使用する場合は、あなたの選択は、同時実行に依存します:
java.util.Properties
ゆえjava.util.HashMap<String, String>
プロパティの同期形が...プロパティを処理するためにいいですとあなたがそれを見ることができますHashtable<Object,Object>
ですあなたのプログラムの管理
あなたは現代のスレッド安全性のためにConcurrentHashMap<String, String>
を持っています。あなたが.properties
ファイルを読むためにそれを使用していない限り、実際にProperties
を使用しないでください。
Propertiesクラスは、基本的には、(このようなテキストと値のペアを)+書き込みセット形式でディスクから読み取るための機能を追加して、ハッシュテーブルの拡張であり、その形式を使用してプロパティを使用します。それ以外の場合は、HashMapまたはHashtableを使用します。
この2つのユーティリティクラスの目的は異なります。 Map、またはあなたのケースでは、HashMapはユニークなキーとそれらが指す値を持つ汎用のストレージオブジェクトです。 HashMapは、任意のオブジェクト型をキーとして、オブジェクト型をその値として持つことができます。
しかし、java.util.Propertiesは特別な目的のマップです。これは、プロパティファイルの読み取り/書き込みを行うために開発されました。それには特別な方法があります[load(..)
参照]。地図はありません。
だから、あなたはそれらを使うために異なる状況があります。あなたが読むためにプロパティを必要とするところなら、あなたはPropertiesと一緒に行くべきです。ルックアップ値をいくつかのロジックに保存したいところはHashMap<String, String>
です。
厳密な規則はありません。HashMap<String, String>
とProperties
を同じ意味で使用できます。しかし、エンジニアとして、の作業にはツールを使用してください。
- 1. java.util.Mapを整列化する<String、String>
- 2. java.util.PropertiesがMap <Object、Object>を実装し、Map <String、String>を実装しない理由
- 3. io.jsonwebtoken.Claimsをjava.util.Map <String、Object>に変換する方法ですか?
- 4. java.util.Properties not working
- 5. Javaフィールド<String>対文字列
- 6. パフォーマンスの懸念:リスト対StringCollection <String>
- 7. Javapoet - TypeName - HashMap <String、HashMap <String、List <String> >>世代?
- 8. RDD [Array [String]]対RDD [String]
- 9. リフレクトベースのjava.util.Propertiesのオブジェクトバインダー?
- 10. java.util.PropertiesフィールドのSpring JavaConfig
- 11. java.util.propertiesは有効な値
- 12. インターフェース:I <String>とI <String>
- 13. バインドリスト<Dictionary <string、string >> to DropDownList
- 14. ReadOnlyCollection <string>とのIList <string>
- 15. 投稿マップ<String、List <String>>
- 16. Arraylist <HashMap <String、String >>
- 17. mapsqlparametersourceとjava.util.mapとの比較
- 18. String to ArrayList <String>
- 19. map <string、string> in class
- 20. JPA Map <String、String>マッピング
- 21. 辞書を作成する<string>辞書<string、string>
- 22. java.util.Mapの汎用テストハーネス?
- 23. ehcacheでjava.util.Mapをキャッシング
- 24. リストを変換する<HashMap <String、String >><map <String、String >> java
- 25. map <string、pair <string、foo * >>とmap <string、pair <string、foo&>>の違いは何ですか?
- 26. リスト上のMongo DBクエリ<Map <String、Map <String、String >>>
- 27. sort <String、String>ベースの整数値のリスト
- 28. List <Map <String、String >> vsリスト<Object>
- 29. java.util.Propertiesの複数の値
- 30. getOrDefault(String、String)メソッドは、Map <String、String>型のために未定義です。次のコードの
Dup http://stackoverflow.com/questions/40471/differences-between-hashmap-and-hashtable – Jivings