Java Stream APIの使用方法を知っていますか?
ストリーム、ラムダ、メソッドハンドラー、その他の機能的なJavaの知識を適用してください。
また、経験豊富なプログラマーでさえも思わせるいくつかのタスクもあります。それらすべてを解決してみてください。
現在、 25のタスクが利用可能です
クローンリポジトリ→メソッドの実装→テストの実行→ミスの修正
実装する方法は、 srcフォルダーのクラスtasks.StreamTasksに配置されます。StreamTasks。当初、それらは標準的なUnsupportedOperationException標準的なエクセプトでスタブされています(そして、テストはそれについて知っています)。そのような行をソリューションに置き換える必要があります。ソリューションは、ストリームフローまたはそれに関連するもので構成されています(各タスクの説明とヒントが提供されます)。
ストリーム操作から標準サイクル( for 、 do-while的)( if if-else 、 while )で標準サイクルを使用することは禁止されています。このプロジェクトの主な目標は、実際に機能的アプローチを使用する方法を教えることです。純粋な機能パラダイムからの除外の1つは、ローカル変数の宣言と使用です。
このプロジェクトは初心者の方向であるため、従属ライブラリは必要ありません。依存関係を追加する方法を知っていて、実際に何を知っているかを手動で行うことができます(ただし、標準のJavaライブラリのみを使用して、すべてのタスクを解決できます)。
主な要件は、11バージョン(またはそれ以上)のJVMです
tasks.StreamTasksMainクラスからメインメソッドを実行するか、スクリプトファイルtest.(cmd|sh) 。
flag -ea 、テストチェッカーのキーワードをassertできるようにするために必要です。それ以外の場合、すべてのテストは適切に実行されません。
チェックプログラムは、すべてのタスクのテストを実行し、各タスクの評決を記述します。
可能性のある評決:
null参照のために何かをチェックするのを忘れたすべてのタスクが判決をaccepted解決するまで、プログラムはゼロ以外の出口コードで終了します。
引数のexampleでチェックプログラムを実行できます。そのために、IDEまたは実行中のスクリプトの最後に引数を渡すことに例を追加するexample : test.cmd example (Windowsの場合)および./test.sh example (unixの場合)
クラスtasks.StreamTasksExampleにいくつかの実装されたタスクがあります。streamtasksexampleがあるため、 exampleモードでテストされます。
実装が正しいか、最適な方法で保証されていません;)
tasks.solution.StreamTasksSolutionでソリューションを見ることができるよりも、いくつかのタスクを解決する方法がわからない場合に備えて、 srcフォルダーのStramtaskssolutionクラス。このクラスは、回答を確認するための参照ソリューションとして使用されるため、タスクにコードをコピーすることができ、このタスクは受け入れられます。
すべてのタスクを完了するまで、ソリューションとの相互作用を避けるようにしてください:)
また、このプロジェクトのタスクを使用して、さまざまな課題にすることもできます。たとえば、限られた時間で実行できるタスクの数、またはそれらすべてを解決するために必要な時間などを確認できます。
バージョン0.1.0はこちらから入手できます
将来の計画:
[ ]タスクの数を100に増やします[~]テストエンジンに入力ジェネレーターを追加します[✓] Map <?, ?>タイプの場合[✓] List <List <?>>タイプ(およびエンクロージャーレベル)[ ]それ以外[ ]テストエンジンにさらに入力バリエーションを追加します(コレクションもコレクションである別のパラメーターの拡張としてFEコレクション)[~]いくつかの新しいタスクのアイデアを備えています[ ]トピックによっていくつかのクラスにタスクを分割します