私は、Clojureの(partition sz step col)
メソッドまたはScalaのIterableLike.sliding(size: Int, step: Int)
関数と同様の方法で分割したいリストを持っています。具体的には、のようなリストを与えられた:私はのようなサブリストを反復処理することができるようにしたいClojure(パーティション)またはScalaのsliding()関数をGuavaに複製できますか?
(1, 2, 3)
:Clojureので
(1, 2), (2, 3)
これはで行うことになります。
(partition 2 1 (1, 2, 3))
Scalaの場合は
val it = Vector(1, 2, 3).sliding(2)
しかし、私はそのような贅沢を持っていないと私は自分自身をロールバックすることを避けるために望んでいる。 Guavaにはパーティションメソッドがありますが、オーバーラップはありません。グーグルリングは無益でした。そのような方法が存在するのか、それとも自分自身を転がす必要がありますか?
2人のguavaパーティションを1つの要素が落としたシーケンスからマージすることができる人がいないと誰も気付かない場合... –
* size *パーティションは必要ありませんか?しかし、良いアイデア。 –
mapを使うことができます: 'map(fn [xy] '(x、y))lst(rest lst))' – Ankur