[解決済み] JavaでHashMapを印刷する
2022-03-04 13:21:38
質問
私は
HashMap
:
private HashMap<TypeKey, TypeValue> example = new HashMap<TypeKey, TypeValue>();
さて、すべての値を実行して、それらを表示したいと思います。
こう書きました。
for (TypeValue name : this.example.keySet()) {
System.out.println(name);
}
うまくいかないようです。
何が問題なのでしょうか?
EDIT もう一つ質問です。このコレクションはゼロベースですか?つまり、1つのキーと値を持っている場合、サイズは0または1になるのでしょうか?
解決方法は?
keySet()
はハッシュマップのキーセットを返すだけなので、このキーセットを繰り返し、これらのキーを使ってハッシュマップから値を取得しなければなりません。
この例では、ハッシュマップのキーの型が
TypeKey
しかし、あなたが指定した
TypeValue
は、一般的な
for-loop
そのため、コンパイルできません。に変更する必要があります。
for (TypeKey name: example.keySet()) {
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Java8に対応したアップデートを行いました。
example.entrySet().forEach(entry -> {
System.out.println(entry.getKey() + " " + entry.getValue());
});
もし、キーの値を表示する必要がなく、ハッシュマップの値だけが必要な場合は、他の人の提案を使用することができます。
<ブロッククオートもう一つ質問です。このコレクションはゼロベースなのでしょうか?つまり、1つのキーと値を持つ場合、そのサイズは0または1になるのでしょうか?
から返されたコレクションは
keySet()
は
Set
. インデックスを使ってセットから値を取得することはできないので、ゼロベースかワンベースかは問題ではありません。ハッシュマップのキーが1つの場合は
keySet()
は、内部に1つのエントリーを持ち、そのサイズは1になります。
関連
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] JOGLまたはLWJGLの既成のプロジェクト
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] Java- <T extends Comparable<T>>の意味?
-
[解決済み] アクティビティに割り当てられない