您知道如何使用Java流API嗎?
應用您了解流, lambdas ,方法處理程序和其他功能性Java事物的知識。
還有一些任務也會使思想甚至經驗豐富的程序員。嘗試解決所有問題。
現在有25個任務可用
克隆存儲庫→實現方法→運行測試→修復錯誤
實現的方法放在src tasks.StreamTasks中。最初,它們具有標準的UnsupportedOperationException (並且測試知道這一點)。您需要用解決方案替換此類行由流流或與之相關的內容組成(提供了每個任務的描述和提示)。
禁止將標準週期( while , do-while )完全及條件( if , for , if-else ,如果,...)退出流動。該項目的主要目標是教您如何在實踐中使用功能方法。純粹的功能範式中的一種可能排除是聲明和使用局部變量。
由於這個項目,因此不需要依賴的庫。如果您知道如何添加依賴項並且真正知道什麼,那麼您可以手動執行操作(但是,可以使用標準Java庫來解決所有任務)。
主要要求是11版(或更高)的JVM
從tasks.StreamTasksMain中運行主方法。 StreamTaskSmain類中的IDE或運行腳本文件test.(cmd|sh) 。
需要flag -ea來assert對檢查器測試的關鍵詞。否則所有測試將無法正確運行。
檢查程序將對所有任務進行測試,然後為每個任務編寫判決。
可能的判決:
null參考在您解決所有accepted任務之前,該程序將使用非零退出代碼完成。
您可以使用參數example運行檢查程序。為此,將example單詞添加到在IDE或運行腳本的末尾傳遞參數: test.cmd example ./test.sh example example (for Unix)
類tasks.StreamTasksExample中有一些實現的任務。 StreamTaskSexample,因此將在example模式下進行測試。
不能保證實施是正確的或以最佳方式進行的;)
如果您不知道如何解決某些任務,就可以在tasks.solution.StreamTasksSolution類中看到src文件夾中的解決方案。此類用作檢查答案的參考解決方案,因此您可以將paste代碼複製到任務,並且將接受此任務。
嘗試避免與解決方案進行任何互動,直到完成所有任務:)
您還可以將該項目的任務用於不同的挑戰。例如,您可以檢查在有限的時間內可以執行多少任務,或者需要多少時間來解決所有任務,等等。
版本0.1.0可在此處使用
未來計劃:
[ ]任務數量增加到100[~]在測試引擎中添加更多輸入發生器[✓]對於Map <?, ?>類型[✓]對於List <List <?>>類型(和任何外殼級別)[ ]別的[ ]為測試引擎添加更多輸入變化(Fe收集作為另一個收集的另一個參數的擴展)[~]可以提出一些新的任務想法[ ]按主題將任務分為幾個類