Fizz-Buzz is a some kind of test used in interviews, which I have heard. But, I was never asked this question. In Fizz-Buzz test, what you have to do is to write a code, to print Fizz, Buzz, FizzBuzz or a number. To go in detail, you have to loop over some number or test […]
Let user handle null case, using functional programming in modern java
When pass an object to a function, then there is a scenario which always arises. That, the passed object could be null. And, we have to write logic to react to that null-condition. And, generally that logic is hard-coded in the function. And, there are times as a user I feel that, instead of throwing an exception […]
java.util.function.IntFunction implementation using modern java
IntFunction is a functional interface, it takes an int and returns a reference type. This reference type can be specified by using generic type specification. We can implement it in different ways. Implement using a regular class. private class IntFuncImpl implements IntFunction<Integer>{ @Override public Integer apply(final int intValue) { return Integer.valueOf(intValue); } } Implement using […]
Double Unary Operator Implementation using modern java
DoubleUnaryOperator is a functional interface that lives in java.util.function package. It has one function applyAsDouble, which takes a double and returns a double. It is called an UnaryOperator, because it performs it’s action on a single argument. And, that single argument is of double type that’s why it has Double in it’s name. We can implement […]
java.util.function.IntBinaryOperator implementation in modern Java
In this blog post, I will show you the different ways to implement java.util.function.IntBinaryOperator. You can watch my youtube video, where I code these implementation. A Regular Class.. private class RegularImpl implements IntBinaryOperator{ @Override public int applyAsInt(final int firstIntValue, final int secondIntValue){ return firstIntValue > secondIntValue ? firstIntValue : secondIntValue; } } Implementation using a […]
java.util.function.Function implementation using modern java.
In this blog, I will show you the different ways to implement java.util.function.Function interface in modern java. You can watch me code these examples on youtube. First implementation is using implementation keyword in a regular class private class FuncImpl implements Function<Person, Integer>{ @Override public Integer apply(final Person person){ return person.getAge(); } } Second way uses anonymous class for implementation. […]
Implement your own threadpool using modern java
This blog post demonstrates creation of a simple thread pool. You can watch my video on youtube, where I have uploaded the screencast of coding this Threadpool using modern java. The logic is very simple. We maintain a list of threads. final List<Thread> poolOfThreads = new ArrayList<>(); Then we maintain a queue of tasks final […]
Sum Of Integer Array : How To Do Functional Programming In Java
We can use functional Programming in Java to calculate sum of an int array. You can watch my live coding video to see how it is done. Traditional Way :- int sum = 0; for(int intValue : ints) sum += intValue; Functional Programming Way 1 :- Arrays.stream(ints).sum(); Functional Programming Way 2 :- Arrays.stream(ints).reduce(0, Integer::sum); Functional […]
Currying : How To Do functional Programming In Java
One of the key identifiers of functional programming is Currying. Since Java 8, the new features were added, allows us to do this operation. What is currying? currying is a name assigned to ‘half initialized functions’. A Curried function has some of the parameters fixed while other parameters will be passed by the users. We […]
How to implement java.util.function.DoubleToLongFunction
java.util.function.DoubleToLongFunction is a primitive specialization of Other Functional Interfaces. What it means is , we can get the same functionality using other functional interfaces, but they are going to be slow. Because of boxing and unboxing. If you are dealing with Double and Long wrapper objects then use other functional interface. So, this functional interface is […]