私は、Javaを知らないと、私は以下の命令が何を意味するのか理解していない:<文字列、オブジェクト> - Javaの
Map<String, Object> unpacked = new HashMap<>();
なぜMap
クラスを使用して、インスタンスunpacked
使用HashMap
後? 何が<String, Object>
の意味ですか?
ありがとうございます。
私は、Javaを知らないと、私は以下の命令が何を意味するのか理解していない:<文字列、オブジェクト> - Javaの
Map<String, Object> unpacked = new HashMap<>();
なぜMap
クラスを使用して、インスタンスunpacked
使用HashMap
後? 何が<String, Object>
の意味ですか?
ありがとうございます。
マップは、キーを値にマップするオブジェクトです。重複するキーを含めることはできません。各キーは最大で1つの値にマップできます。 文字列? :のキーは、マップする文字列データ型に入力されます。 オブジェクト? :これは、値を含み、キーによってマッピングされます。 そしてhasmapにはキーに基づく値が含まれています。 Mapインタフェースを実装し、AbstractMapクラスを拡張します。固有の要素のみが含まれています。 理解を深めるためには、理論を理解する必要があります。練習してください。これがあなたを助けたと思います。 :)
これはgenerics specificationです。 unpacked
は、キータイプがString
、値タイプがObject
のマップとして宣言されています。
HashMap
は、Map
インターフェイスの実装です。詳細については、Javaで多形性をチェックし、Collections APIも確認してください。
<String, Object>
はGenericsです。それについてもっと学んでください。この場合、マップは、キーが文字列であり、値がオブジェクトであることを指定します。ある意味では、文字列 - >オブジェクトをマッピングします。
Javaの基本的な本、ヘッドファーストJava、Java初級者向けのガイドなどを参照してください。マップはキーバリューペアのデータ構造です。ハッシュマップはマップの実装であり、<String, Object>
はGenerics用です。
これは、 "Associative Array"と呼ばれるプログラミングコンセプトの1つを理解する必要があります。これは、キーとそのペアに関連付けられた値のコレクションに過ぎません。
あなたが言いましたのは、 'unpacked'変数で表されるコレクションは、文字列をキーとオブジェクトとしてそのペア値として保持するということです。
マップ、HashMapはJava Collectionsフレームワークの一部です。
「Head First Java」や「Java Complete Refefence」などの標準的な書籍は、これに関する知識をさらに強化するのに役立ちます。
[Javaのインターフェイスとは何ですか?](http://stackoverflow.com/questions/1321122/what-is-an-interface-in-java)の可能な複製 –