我々はMap<String,List<String>> = new HashMap<String, List<String>>();
を行うと、それは空のマップを作成しますがList
が同様に空のマップ内にあるか、それがNULL値ですか?メモリassignement <文字列、リスト<String>>
答えて
あなたのコード:
Map<String,List<String>> = new HashMap<String, List<String>>();
はパラメータ化のHashMapのインスタンス化に関係します。ジェネリック型を使用して、キーのTYPEがStringでなければならず、TYPEの値がList<String>
である必要があるというジェネリックタイプを強制しています。個別に作成したList<String>
オブジェクトをマップに追加するまでは、メモリにList<String>
はありません。これは次のようになります。
Map<String, List<String>> myMap = new HashMap<>();//BTW, You only need to parameterize the object declaration since Java 7
List<String> names = new ArrayList<String>();
names.add("Betty");
names.add("Bob");
names.add("Jessica");
names.add("Jim");
myMap.put("names", names);//Where "names" is your key and names is your value.
続きを続行して、そこからマップにリストを追加できます。
ある程度、これは使用しているコレクションの種類によって異なります。ハッシュマップまたはハッシュセットは、後で追加される可能性のあるオブジェクトのためのスペースを割り当てません。そのため、マップを作成するときに、正確にその1つのマップまたはオブジェクトを設定するための "コスト"しかかかりません。
ArrayListの場合、これは異なります。これらは初期容量(デフォルトは10)を使用して作成されます。 ArrayList<String>
を作成すると、文字列の配列(その意味ではString[10]
)が割り当てられます。したがって、HashMap<String, List<String>>
はList<Map<Whatever, NotOfInterest>>
よりも「安い」です。
一方、これは本当に心配するものではありません。 「組み込みコンピューティング」(あるいは何百万ものオブジェクトを常に扱っている)で作業している場合を除き、Javaコレクションのメモリ(またはパフォーマンス)コストではなく、良いOO設計を心配する必要があります。
Eh?ヌルで埋められた 'String [10]'は、ヌルで埋められた 'SuperMassiveObject [10]'とまったく同じ量のメモリを取ります。どちらも参照を格納し、オブジェクト自体は格納せず、すべての参照が同じサイズになります。 –
しかし、10項目の配列が作成されます。それがポイントです! – GhostCat
私はこの空のマップを使用しており、計算結果をそこに格納しています。しかし、条件が満たされない場合、空のマップがそのまま返される可能性があります。私はマップを返され、この上のストリームを使用する必要がありますが、マップが空の場合、このマップがnullではないの内側に、私はそれ以外のストリームが、私はこのマップ内で必ずリスト
受け入れられる回答:コレクションをインスタンス化すると、それは空です。初期容量はすべてNULL値であるため、この場合はリストはありません。 - ジルコン
あなたはおそらくこの源を参照したいと思うでしょう –
あなたは正しいです! –
- 1. リスト<カンマ区切り文字列> =>リスト<string>?
- 2. のJava 8の変換リスト<地図<文字列、文字列>マップする<文字列、地図<文字列、文字列>>
- 3. は、私は、文字列中で</li> </ol> <p>を2つのリスト</p> <ol> <li>ネストされた文字列のリスト、および</li> <li>リストを持っている「system.collections.generic.list文字列」
- 4. 読むSQL表<文字列、リスト<string[]>>
- 5. C#の - 辞書<文字列、リスト<string>> DataGridの
- 6. Javaのエラー文字列(リスト<String>)
- 7. リスト<string>と文字列[] WCF?
- 8. グループ日付<辞書<文字列、文字列>>
- 9. <文字列、オブジェクト>>
- 10. 文字列の配列をリストに変換する<string>
- 11. SQL Oracle:Where <Col Val> == <文字リストの項目>
- 12. のArrayList <HashMapの<文字列、文字列>>へのString []
- 13. Pythonは私が<em>文字列</em>次ている文字列
- 14. XML文字列は、私はこの<strong>文字列</strong>まし
- 15. マップ内のヌルポインタ例外<Set<Node>、文字列>>
- 16. F#コンストラクタで<文字列>、str>
- 17. Javaのエンコードは、エンコード文字列の文字列をエンコード</p> <pre><code>String encoded=encodeFileToBase64Binary("file.fmr"); </code></pre> <p>//を取得する//他のエンコードされた文字列と一致するにはBase64文字列に
- 18. 辞書<文字列、辞書<文字列、文字列>>をデータテーブルに変換
- 19. pythonのデータ構造:map <文字列、ベクトル<int>>
- 20. 値が<select><option>文字列として戻る
- 21. がここ</p> <p>を文字列パイソン
- 22. Entity Frameworkのは <p></p>エラーは、文字列
- 23. 地図を返すようにRowMapperのを使用して<文字列、地図<文字列、リスト<Object> >>
- 24. のJavaのHashMapに区切り文字で一覧<String>変換<文字列、文字列>
- 25. のstd ::リスト<std::string> ::イテレータはstd ::文字列にする
- 26. MongoDb C#ドライバ - リスト<enum>を文字列[
- 27. リストを変換する<boolean>を文字列に
- 28. リストに整数と文字列を追加する<Object>
- 29. リスト<String>を文字列に変換する方法は?
- 30. リスト内の文字列の検索方法<TextView> android
'Map'の中に' List'sはありません。空っぽです。 'get'を呼び出すと、引数の値は' null'を返します。 – resueman
コレクションをインスタンス化すると、コレクションは空になります。初期容量は 'null'値なので、この場合は' List'はありません。 – Zircon
ありがとう!私はあまりにも思ったが、ちょうどその場合に確認する必要がある –