Java Users Group

of

Greater Louisville

Check us out on social media!!

Java Users Group

of

Greater Louisville

Let us know what topics you would like to see presented!

Volunteer To Present

Got a topic you are passionate about?

https://goo.gl/KQGXvk

Deven Phillips

Senior Software Engineer

Sungard Availability Services

What does it mean to be "functional"?

f(x) = x \times 2

f(x)=x×2

Properties of functions

*Idempotence*

f(x) = x \times 2

f(x)=x×2

Properties of functions

*Composable*

f(x, y) = x \times y

f(x,y)=x×y

g(x) = f(x, 5)

g(x)=f(x,5)

g(10) = 50

g(10)=50

Those are the MAIN tenets of Functions

What about everything else everyone is touting as "functional programming"?

How does Java implement these concepts?

Lambda Expressions

Concurrent Data Structures

Message Passing

Actors

"final" variables

Lambda ( ) Expressions

\lambda

λ

Concurrent Data Structures

java.util.concurrent.*

ConcurrentHashMap

Atomic<Numeric>

(Completable)Future

<Numeric>Accumulator

Streams

java.util.Collection

Collection.stream()

List.stream()

Map.stream()

Queue.stream()