javaのマップのキーとして使用できるデータ型の種類は何ですか?ダブルを使っても大丈夫ですか?文字列はどうですか?Java - マップのキーとして使用されるデータ型
答えて
特定のマップに応じて、キーの許容タイプに制限がある可能性があるため、APIをチェックしてください。また、参照型のみを使用できますが、プリミティブ型は使用できません。だからダブルは動作しませんが、ダブルはうまくいきます。最後に、キーは、異常な動作を引き起こす可能性があるため、キーを変更できないようにすることが望ましいです。
doubles
はプリミティブ型であるため動作しません。つまり、マップMap<double,String>
を定義することはできません。ただし、Map<Double,String>
を定義してからput
メソッドにdouble値を使用することができます(オートボクシングのおかげで)。
equal
とhashcode
のメソッドがオーバーライドされない限り、同等性は参照に基づいており、これは望ましい動作ではない可能性があります。 (したがって、あなたは2つのエントリで終わるかもしれませんが、1つしか期待できません)
どのオブジェクトタイプでも使用できます。 しかし正しい動作を得るには、型にhashCode()とequals()関数が正しく実装されている必要があります。
ですから、double
を使用したい場合は、代わりにDouble
を使用しているため、ボクシングの必要があり、あなたが実際にあなたがユニークである任意のObject
を使用することができるキーについてなどadd()
のような機能に
をdouble
値を渡すことができますアンボクシングデータセットに追加します。 int
またはdouble
は使用できませんが、Integer
またはDouble
を使用できます。キーには1つの値しかないことがあります。したがって、一意のオブジェクトが必要です。あなたは同じキーを追加する場合は二回だけで2番目の値はMap
に保存されます、あなたはプリミティブデータ型を使用することはできません あなたが二重ラッパークラスを使用することができます倍増使用したい場合は、オブジェクト
を使用する必要があります。あなたがいずれかを使用したい場合はintまたはlongまたはdoubleのように、あなたはそれを
文字列を表すラッパークラスを探すことができ、それはクラスなので
プリミティブデータ型が許可されていないオーケーで、より良いあなたは格納するクラスをラッパー地図上のあなたのデータ。 さらに、equalとhashcodeメソッドをオーバーライドしない限り、mapを使用するのはあまり役に立ちません。
- 1. Pythonを使用してキーとデータ型をマップするkwargs
- 2. データ型(クラス型)をキーとしてキーとして使用
- 3. Java:任意の列挙型をキーとしてマップ
- 4. バイトを主キーのデータ型として使用する
- 5. Javaを使用したMySqlデータ・データ型
- 6. プライベートX509キーを使用してxmlデータ型に署名する
- 7. キーまたはインデックスのいずれかを使用して、Javaのデータ型から値を取得します。
- 8. ビットセットをキーとしてマップを使用する際の問題
- 9. 構造体をGoマップのキーとして使用する
- 10. Scalaのマップのキーとしてのクラス型
- 11. Javaストリームを使用して、キーとそのキーの出現数を含むマップをリストから取得する
- 12. マップを反転しますが、キーとして値を使用し、値としてキーを使用します。
- 13. キー値マップを格納するためのベストPostgreSQLデータ型?
- 14. ES6マップのキーとしてArrayオブジェクトを使用
- 15. ObjectMapper:マップされたオブジェクトの値としての辞書キー
- 16. boost :: tupleをキーとして使用したマップ検索
- 17. DjangoマップされたリストとしてのGETキー
- 18. Javaでキー・キー・マップ(キー・バリューではなく)を使用できますか?
- 19. マップモデルからmongoDBへJPAを使用してJSON型データをマップする方法
- 20. インデクサのキーとして使用されるTypescriptリテラルタイプ
- 21. Javaでマップ関数を使用して型キャストが機能しない8
- 22. マップされたドライブを変数として使用する
- 23. OracleのRAW用Javaデータ型
- 24. Pythonと他の言語で使用されるintデータ型の相違点
- 25. java 8 - キーでソートされたマップを印刷する
- 26. std :: mapのマップされた型としてboost :: mutexを使う方法?
- 27. RedisのキーとしてJavaオブジェクトを使用するには?
- 28. Java generics - (型付き)マップのマップ
- 29. TypeScript:マップされた型を使用して配列アイテムの型を推測する方法
- 30. MetadataTypeAttributeの型として使用されるクラスのDefaultValueAttributeの使用