4
Guavaを使って、カーソルを動かさずに前と次のリストの要素を覗き見ることができる "覗くことができる" ListIterator
を実装します。これはGuavaのPeekingIterator
に似ていますが、GuavaのPeekingIterator
はではなくnext()
メソッドしかないため、双方向です。GuavaのForwardingListIteratorとPeekingIteratorを組み合わせることは可能ですか?
これは、新しいPeekingListIterator
クラスを作成することで実装する必要がありますか?または、2つの概念を組み合わせるためのGuavaの方法がありますか?
あなたは質問への答えは自分の圧延せずに2つを結合する方法がないということであると言っています ' PeekingListIterator'? 'PeekingIterator'に関する質問と同じ"何が値段 "なのかを簡単に聞くことができましたが、明らかに誰かがその値を見ていましたが、なんらかの理由で' PeekingListIterator'が省略されました。 –
'Iterator'を後方に移動することはできませんが、' ListIterator'を後方に移動することはできます。したがって、 'PeekingIterator'は通常のIteratorで複製できない機能を提供しますが、すべての' ListIterator'を使用して 'PeekingListIterator'と同じ機能を得ることができます。 –
@LouisWassermanそれはとても良い点です+1。 Kevinの質問に直接答えるためには、このシナリオではクライアントコードの明瞭さが重要です。クライアントの観点から、 'next = iterator.peekAtNext()'は 'next = iterator.next();よりも理解しやすい。 iterator.previous(); ' –