Introduction
  • Introduction
  • Imperative vs Declarative Programming
  • Course Breakdown
  • Windows - Java Development Kit Installation Overview
  • Windows - Installing Intellij IDEA
  • Mac - Java Development Kit Installation Overview
  • Mac - Installing Intellij IDEA
  • Intellij IDEA Configuration
  • Git Repository Link
  • Development Environment Setup - Import Code
Lambda Expressions - Java8+
  • Java8+ : What is Lambda
  • Java8+ : Lambda Expression (Part 1)
  • Java8+ : Lambda Expression (Part 2)
  • Java8+ : Runnable Example With Lambda
  • Java8+ : Callable Example With Lambda
Functional Interfaces and Lambdas - Java8+
  • Java8+ : Functional Interfaces
  • Java8+ : Consumer Functional Interface (Part 1)
  • Java8+ : Consumer Functional Interface (Part 2)
  • Java8+ : IntConsumer, LongConsumer, DoubleConsumer
  • Java8+ : BiConsumer Functional Interface (Part1)
  • Java8+ : BiConsumer Functional Interface (Part2)
  • Java8+ : Predicate Functional Interface (Part1)
  • Java8+ : Predicate Functional Interface (Part 2)
  • Java8+ : IntPredicate, LongPredicate, DoublePredicate
  • Java8+ : Predicate & BiConsumer
  • Java8+ : BiPredicate Functional Interface
  • Java8+ : Function (Part 1)
  • Java8+ : Function (Part 2)
  • Java8+ : BiFunction
  • Java8+ : Unary Operator
  • Java8+ : Binary Operator
  • Java8+ : Supplier
  • Java8+ : Method Reference (::)
  • Java8+ : Examples of Method Reference
  • Java8+ : Convert to Method Reference
  • Java8+ : Constructor Reference
Lambda Variable Scope - Java8+
  • Java8+ : Variable Scope, Final & Effectively Final
RealWorld Example Using Lambda - Java8+
  • Java8+ : Bank Transfer Example
Streams - Java8+
  • Java8+ : Stream Introduction (Part 1)
  • Java8+ : Stream Introduction (Part 2)
  • Java8+ : Inside Streams
  • Java8+ : Collections vs Streams
  • Java8+ : Debugging Stream
Stream Operations - Java8+
  • Java8+ : map()
  • Java8+ : flatMap()
  • Java8+ : distinct(), count(), sorted(), allMatch()...
  • Java8+ : Customized sort using comparator
  • Java8+ : filter()
  • Java8+ : reduce() (Part 1)
  • Java8+ : reduce (Part 2)
  • Java8+ : map + filter + reduce
  • Java8+ : max() with stream and reduce
  • Java8+ : min() with stream and reduce
  • Java8+ : limit() and skip()
  • Java8+ : findAny() and findFirst()
Stream Generators - Java8+
  • Java8+ : Generating Stream with of(), iterate(), generate()
Numeric Streams - Java8+
  • Java8+ : Introduction to Numeric Streams
  • Java8+ : IntStream
  • Java8+ : LongStream
  • Java8+ : DoubleStream
  • Java8+ : sum(), max(), min(), average()
  • Java8+ : Boxing, Unboxing
  • Java8+ : mapToObj(), mapToLong, mapToDouble()
Collectors Operations - Java8+
  • Java8+ : joining
  • Java8+ : counting()
  • Java8+ : mapping()
  • Java8+ : minBy(), maxBy()
  • Java8+ : summingInt(), averagingInt()
  • Java8+ : groupingBy (Part 1)
  • Java8+ : groupingBy (Part 2)
  • Java8+ : groupingBy (Part 3)
  • Java8+ : maxBy(), minBy(), collectingAndThen(), summarizingInt()
  • Java8+ : partitioningBy()
Parallel Streams - Java8+
  • Java8+ : Introduction to Parallel Streams
  • Java8+ : Sequential vs Parallel Performance (Part 1)
  • Java8+ : Sequential vs Parallel Performance (Part 2)
Optional - Java8+
  • Java8+ : Introduction to Optional
  • Java8+ : empty(), ofNullable(), Of()
  • Java8+ : orElse(), orElseGet(), orElseThrow()
  • Java8+ : IfPresent(), isPresent()
Default And Static Methods Of Interfaces - Java8+
  • Java8+ : Introduction of Default And Static Methods
  • Java8+ : Default Methods
  • Java8+ : Creating an Interface with Default/Static Methods
  • Java8+ : Multiple Inheritance
  • Java8+ : Conflicts in Multiple Inheritance
New DateTime APIs : Java8+
  • Java8+ : new DateTime Introduction