[解決済み] Java LinkedHashMap の最初か最後のエントリを取得する
2022-04-25 20:36:35
質問
私は
LinkedHashMap
というのも、マップに入力されるキーの順番が重要だからです。
しかし、今私は、最初の場所(最初に入力されたエントリ)または最後のキーの値を取得したい。
のようなメソッドが必要です。
first()
と
last()
といった感じでしょうか?
最初のキー項目を取得するだけのイテレータが必要なのでしょうか?というわけで、私は
LinkedHashMap
!
ありがとうございます。
解決方法は?
のセマンティクスは
LinkedHashMap
はMapのものであり、むしろ
LinkedList
. 挿入順序は保持されますが、これは実装の詳細であり、インターフェースの一面ではありません。
最初のエントリを取得する最も手っ取り早い方法は、やはり
entrySet().iterator().next()
. 最後のエントリを取得することも可能ですが、その場合、エントリセット全体に対して
.next()
に到達するまで。
while (iterator.hasNext()) { lastElement = iterator.next() }
編集
: ただし、JavaSEのAPIを超えるなら。
アパッチ・コモンズ・コレクション
は、独自の
LinkedMap
のようなメソッドを持つ実装があります。
firstKey
と
lastKey
これらは、あなたが探しているものを実現するものです。インターフェイスはかなりリッチになりました。
関連
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
エラー java.util.NoSuchElementException
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
スレッド "main "での例外をEclipseで解決 java.lang.Error: 未解決のコンパイル問題、コンパイラとパッケージの不整合
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
SpringBootApplication を型解決できない。
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 0 at One1.main(One1.java:3)
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
ローカルリソースのロードが許可されていない場合の解決策
-
[解決済み] javaでfor eachループを逆順に行うことはできますか?