c-guntur / functional-java

Evolution of lambdas in Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Functional Java - Evolution of lambdas in Java

Java Duke Lambda Logo

Java lambdas are anonymous functions that make code much moe concise and simpler.

Requirements

How to prepare for coding along

Ensure that you have:

  1. JDK 17 or above. Tested with OpenJDK 11 Link: http://jdk.java.net/17/

  2. Your favorite Java IDE. IntelliJ IDEA Ultimate was used to develop this kata.

Steps to use this code

  1. Read any NOTE comments

  2. Fix the code by using HINT and TODO comments.

  3. Have fun!

Project Structure

|____LICENSE                                  <--- License for this code base
|____README.adoc                              <--- This file
|____assets
| |____images
|   |____DukeLambda.png                       <--- Image used in README
|____src
  |____none
    |____cgutils
      |____functional
        |____AllConstants.java                <--- Constant values used in all code
        |
        |____Calculator.java                  <--- Basic calculator
        |
        |____Calculator1.java                 <--- Custom calculator
        |____Calculable1.java                 <--- Calculator basic interface
        |
        |____Calculator2.java                 <--- Reusable calculator for different Types
        |____Calculable2.java                 <--- Generics in the interface
        |
        |____Calculator3.java                 <--- Single operation calculators
        |____Calculable3.java                 <--- Single operation interface
        |
        |____Calculator4.java                 <--- Lambda magic
        |____Calculator5.java                 <--- Higher Order Functions #1
        |____Calculator6.java                 <--- Higher Order Functions #2
        |____Calculator7.java                 <--- Using FunctionalInterface and default methods
        |
        |____JavaUnaryOperation.java          <--- Java Function API
        |____UsingBiFunctionAsCalculator.java <--- Java BiFunction API

About

Evolution of lambdas in Java

License:MIT License


Languages

Language:Java 100.0%