Lambda - Ways of representing functions - pre-built function building blocks - Set of function composition methods Streams - Wrappers around collections - map, reduce, filter, forEach - Lazy Evaluation - Can be made parallel Note : Lambda is not lisp Stream is not Hadoop Why Lambda's in Java Ability to pass functions around (Javascript, Lisp, Ruby, Scala etc) Functional approach proven concise, useful, and parallelizable Java 7 version String[] testStrings = {"", "", ""}; Arrays.sort(testStrings, new Comparator () { @Override public int compare(String s1, String s2) { return (s1.length() - s2.length()); } } ); Lambda version Arrays.sort(testStrings, (s1, s2) -> s1.length() - s2.length() ); Lambda - replaces anonymous inner class' single method - No type should be used (Type inferencing) - Parens optional for single arg (Parens omitti...