[解決済み】Javaでリストに反転したリストビューを取得する方法は?
2022-04-21 01:24:18
質問
リスト上で反転したリストビューを表示させたいのですが、どうすればよいでしょうか?
List#sublist
は、リスト上のサブリストビューを提供します)。この機能を提供する関数はあるのでしょうか?
リストのコピーを作ったり、リストを変更したりはしたくありません。
この場合、少なくともリストの逆イテレータが得られれば十分なのですが。
また、私はこれを自分で実装する方法を知っています。ただ、Javaがすでにこのようなものを提供しているかどうかを聞いているのです。
デモの実装です。
static <T> Iterable<T> iterableReverseList(final List<T> l) {
return new Iterable<T>() {
public Iterator<T> iterator() {
return new Iterator<T>() {
ListIterator<T> listIter = l.listIterator(l.size());
public boolean hasNext() { return listIter.hasPrevious(); }
public T next() { return listIter.previous(); }
public void remove() { listIter.remove(); }
};
}
};
}
この度、一部の
List
の実装では
descendingIterator()
というのは、私が必要としているものです。に対する一般的な実装は存在しませんが
List
. というのも、私が見たことのある
LinkedList
は、どのような
List
.
解決方法は?
グアバ はこれを提供します。 Lists.reverse(リスト)
List<String> letters = ImmutableList.of("a", "b", "c");
List<String> reverseView = Lists.reverse(letters);
System.out.println(reverseView); // [c, b, a]
とは異なり
Collections.reverse
であり、これは純粋に
ビュー
... 元のリストの要素の順序を変更することはありません。さらに、元のリストが変更可能であれば、元のリストとビューの両方に対する変更は、もう一方に反映されます。
関連
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] リストの最後の要素を取得する方法
最新
-
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
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] JavaFX 同じパッケージ内なのに「場所が必要です。
-
[解決済み] 文字列の巻き方