Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time


This small project contains lambda expresions and interface evolution examples on What's New on JavaSE 8 presented by Chuk Lee during NUS Hackers meetup, 21 March 2014. Go here if you're interested to the talk summary.


  1. Java 8
  2. Maven 3.0.5

Use Maven to compile the sources, i.e. mvn clean compile.


There are several main classes:

  1. com.otnira.evolution.main.BasicMain: main class that only uses the original method of Awesome interface, which is sayHello. This class does not have any argument.
  2. c.o.e.m.InterfaceEvolutionMain: main class that uses the method from evolution of Awesome interface, which is eat. This class does not have any argument.
  3. c.o.lambda.main.GetMaxRandom: main class that randomly generates collection of students and finds the maximum of the grade for student in specific year using sequential and parallel stream. This class has two optional arguments:
  • year: year/batch that we are interested to find the maximum
  • number of students per year/batch: self-explained
  1. c.o.l.m.GetMaxNotRandom: main class that generates collection of students deterministically and finds the maximum grade of the specified batch. This class has one optional argument:
  • year: year/batch that we are interested to find the maximum
  1. c.o.l.m.TargetTyping: some examples on target-typing.
  2. c.o.l.m.StreamExample: an example of stream.
  3. c.o.l.m.ParallelStreamExample: an example of parallel stream.
  4. c.o.l.m.StaticMethodReference: an example of static-method-reference(::).

Use java to execute the main classes, example

java -CP $CLASSPATH com.otnira.evolution.main.BasicMain


The MIT License (MIT)

Copyright (c) 2014 Arinto Murdopo


Simple examples on Java 8's lambda expressions and interface evolution




No releases published


You can’t perform that action at this time.