ストリームフロー実装フィボナッチ数

1.はじめに

私たちはすべての多くの実装がありますフィボナッチ列ことを知って、何のフロー操作jdk1.8が前にありませんが、唯一、このような再帰的または反復などの他の手段によってフィボナッチ列を達成することができ、

しかしjdk1.8後、動作の流れで、私たちは、フィボナッチ・フローを使用して列を達成することができるようになります。

2.コード

    Stream.iterate(新しい INT [] {0、1}、I - > 新しい INT [] {I [1]、(I [0] + I [1 ])})
              .limit( 10 
              .forEach(I - > System.out.print(I [0] + ""));
// 0、1、1、2、3、5、8、13、21、34、

Stream.iterateは、本明細書で使用される場合、それは、結果を格納するint配列を使用して、10の量を制限するように動作復帰の各フローである、無限のストリームを生成します

新しいINT [] {I [1 ]、(I [0] + I [1])}) 

第二は、最初の2桁の和であるフィボナッチ数に適合するので、任意の反復で係合しない、再帰など、ダイレクト・ストリーム・オペレーションは、それを達成するために。そして操作が並行性の問題に関係なく、データを処理するために、マルチCPUプロセッサを使用して、内部的に最適化するのに流れます。

技術の開発が不可欠である、我々は技術の発展に追いつくためにだけ行うことができます、あなたはjdk1.8環境上の多くの実装は非常に簡単になってきている見ることができます。

おすすめ

転載: www.cnblogs.com/lishuaiqi/p/12006292.html