progTweetなんかはまったのでメモ。あるときバグがあったとある要素の次の要素とか前の要素の情報を知りたくて、ListIteratorが使えるコンテナだったのでListIteratorを使ってhasNext()、next()、hasPrevious()、previous()してたんですが、prebious()は前の要素を取ってくるのにnext()が次の要素をとってこない。いえばイテレーションするときもnext()の返り値を使うのでそんなものかと思ったんですが、previous()と対称性が取れていないのが気に入らない。ドキュメントを読もう!最近ドキュメントちゃんと読んでなくて苦労したのでjavadocを見に行ったら。next()リスト内の次の要素を返します。呼び出しと組み合わされる場合があります。呼び出しを交互に行うと、繰り返し同じ要素が返されます。繰り返し処理で次の要素がない場合と書いてある。previous()リストの前の要素を返します。呼び出しと組み合わされる場合があります。呼び出しを交互に行うと、繰り返し同じ要素が返されます。繰り返し処理で前の要素がない場合と書いてある。́・ω・`)javadocが正しいとするとAndroidのCopyOnWriteArrayListが返すListIteratorがおかしい。Androidへ例によってICSのr1のソースを見てみるとCopyOnWriteArrayListのListIteratorはCowIteratorが返すらしい。CowIteratorのnextとpreviousの実装が以下の通り。NoSuchElementException();}}と、まさしく実装の通り動いてたということのようです。おぼれる者はJDKをも掴むAndroidのListIteratorがjavadocに沿ってないのはわかった。JDKどうなの?これでJDKが同じ動きだとしたら僕はjavadocのことを許せそうにないよ......。いうことでJDK6のソースを落としてきてCopyOnWriteArrayListこんにちわ。COWIteratorとか似たような名前のクラスを見つけて覗いてみたら。snapshot[--cursor];}神は死んだ。前にも誤訳的な何かがあったりしたしもうそろそろjavadocが信じられなくなってきたよママン。追記JavaのIteratorは要素を指しているわけじゃないそうです。22:48コメントを投稿するにはログインが必要です。