Blog Archives

01: 19 Java 8 Functional Programming FAQs

Good handle on Java OOP concepts and FP concepts are very important NOT only from writing quality code perspective, but also from job interviews perspective to be able to do well in written tests &

Read more ›

02: Java 8 Streams, lambdas, intermediate vs terminal ops, and lazy loading with simple examples

A stream is an infinite sequence of consumable elements (i.e a data structure) for the consumption of an operation or iteration. Any Collection<T> can be exposed as a stream. …...

03: Functional interfaces and Lambda expressions Q&A

The functional interfaces and Lambda expressions are going to make your code concise when coding with Java 8. These are the most awaited features among Java developers.  … Read more...

04: Convert Lists to Maps and Maps to Lists with Java 8 power

Why convert from a list to a map? Maps allow you to store and access data by a “KEY”. Lists only allow you to access data by either index or...

05: 7 Java FP (lambda expressions) real life examples in wrangling normal & big data

This post extends Transforming your thinking from OOP to FP. In Big-data, functional programming is prevalent when working with data sets. For example, writing a Spark job to work with RDDs (Resilient Distributed Data sets).

Read more ›

05: Finding the 2nd highest number in an array in Java

Requirements gathering Does the array allow duplicates? If duplicates are allowed, then do you need to report duplicates? For example, in {2,4, 6, 3, 6, 5}, is 6 or 5...

06: Java 8 way of File reading and functionally processing the data


#1 double colon notation ::

The new double colon (::) operator that Java 8 has to convert a normal method into lambda expression.

Read more ›

06: Understanding TimeZones with Java 8 examples

What is UTC? which stands for Coordinated Universal Time. The diagram below shows the standard time offsets of different countries. Some places observe daylight saving time (DST) during their respective summer periods.

Read more ›

07: Java 8 API examples using lambda expressions and functional programming

Java 8 API examples using lambda expressions and functional programming. Example 1: The java.lang.Runnable interface has been made a functional interface. … Read more ›...

08: Write code to add, subtract, multiply, and divide given numbers?

A trivial coding example (i.e. a Calculator) tackled using the following programming paradigms in Java not only to perform well in coding interviews, but also to learn these programming paradigms.

Read more ›

10: ExecutorService Vs Fork/Join & Future Vs CompletableFuture Interview Q&As

Q1. What is the difference between “ExecutorService” and “Fork/Join Framework“?
A1. The Fork/Join framework uses a special kind of thread pool known as the ForkJoinPool,

Read more ›

5 FAQs on transforming your thinking from OOP to FP

Functional Programming (i.e. FP) is prevalent in Big Data (i.e. Spark programming, etc) roles. A must know for Big Data Engineers and Analysts. One needs to get used to the...

Fibonacci number with caching and Java 8 FP

Complimenting Fibonacci number coding – iterative and recursive approach, we can improve performance by caching. If you run this Output and you can see “fibonacci(3)” … Read more ›...

Java 8 String streams and finding the first non repeated character with functional programming

Q1.Find the first non repeated character in a given string input using Java 8 or later? A1.Extends Find the first non repeated character in a given string input with Java...

Java 8 using the Predicate functional interface

The java.util.function package in Java 8 has a number of functional interfaces. Let’s look at the Predicate interface that is used for filtering objects from a collection. … Read more...

Java 8: 7 useful miscellaneous additions you must know

The much awaited addition in Java 8 are Lambda expressions to be used in functional programming and default and static methods in interfaces to support multiple behavior inheritance and helper...

Java 8: Different ways to sort a collection of objects in pre and post Java 8

The object we are going to sort is a Person. Option 1: Writing your own Comparator implementation. This can be done as an anonymous inner class instead of a separate...

Java 8: Does “Optional” class alleviate the pain of ubiquitous NullpointerException?

The most prevalent runtime exception (aka unchecked) exception in Java is the NullPointerException. You need to code defensively to avoid NullPointerException as shown below. … Read more ›...

Java 8: What is currying? Does Java 8 support currying?

Currying (named after Haskell Curry) is the fact of evaluating function arguments one by one, producing a new function with one argument less on each step. … Read more ›...

Learning to write functional programming with Java 8 with examples

Scenario 1:  The Operation interface with the annotation @FunctionalInterface. This annotation ensures that you can only have a single abstract method. … Read more ›...

Non-trival Java 8 tutorial to appreciate the power of functional programming (FP)

Prerequisite: Understanding of Java 8 streams.

Q. You have a list of key value pairs (“student name”, “subject”) as shown below.


The required task is to list all the subjects for each student as shown below.

Read more ›

Top 6 Java 8 features you can start using now

Unlike Java 7, Java 8 has some significant changes. You can get familiarised with the the following simple working code. All you need is Java 8 installed on your machine.

Read more ›

Top 8 Java 8 feature list

#1 One needs to get used to the transformation from imperative programming to functional programming. You like it or not, you will be using functional programming in Java 8, …...

Understanding Java 8 Streams and working with collections using Lambda expressions

A stream is an infinite sequence of consumable elements (i.e a data structure) for the consumption of an operation or iteration. Any Collection can be exposed as a stream. The...

800+ Java Interview Q&As