Hello guys, if you are wondering what is a Consumer functional interface in Java and when and how to use it then you have come come to the right place. In the last few article, I have explained what is Functional interface and showed example of Predicate Interface and in this article, I will show you how to use Consumer functional Interface in Java. A Java Consumer is a predefined function interface that has been introduced by java 8. This type of interface accepts only one argument in order to generate the result.
We can use Consumer interface once an object is ready to be used, so we send the input and it executes some operation on the object without returning any kind of value.
Java Consumer interface has two methods: accept() , andThen()
a- accept(): it receives exactly one value and performs some operation based on that argument.
Example1:
public static void main(String[] args) {
Consumer<String> word = c -> System.out.println(c);
word.accept("Hello World");
}
The output:
Hello World
Example2:
public static void main(String[] args) {
Consumer<List<String>>
wordsList = list -> list.stream().forEach(c -> System.out.println(c + " "));
List<String> list = new ArrayList<String>();
list.add("dog");
list.add("cat");
list.add("turtle");
wordsList.accept(list);
}
The Output:
dog
cat
turtle
b- andThen():
It is used when we want Consumer does operation after operation. So we can execute multiple operations sequentially. The argument that is in andThen() method should be Consumer type.
If one of the operation throws exception then it is forwarded to the composed operation's caller. If the after operation is null, the function andThen() will throw a NullPointerException.
Example:
public static void main(String[] args) {
Consumer<List<String>> modify = list ->
{
Collections.sort(list);
};
Consumer<List<String>>
wordsList = list -> list.stream().forEach(c -> System.out.println(c + " "));
List<String> list = new ArrayList<String>();
list.add("orange");
list.add("apple");
list.add("banana");
modify.andThen(wordsList).accept(list);
}
The Output:
apple
banana
orange
And, here is a nice diagram highlighting important functional interface from Java API:
That's all about what is Consumer Functional interface and how to use it in Java. Just remember that it consumes whatever object you pass to it and it doesn't return anything back. One of the best example of Consumer interface is forEach() method which takes can be used to print an object or do something with the object without returning it.
- Top 5 Courses to Learn Java 8 Programming (courses)
- 8 ways to sort List in Java? (List sorting example)
- 5 Books to Learn Java 8 from Scratch (books)
- How to use Stream.distinct() method in Java? (distinct example)
- How to join String in Java 8 (example)
- Java Stream + map + flatMap + collect example (map example)
- How to use filter() method in Java 8 (tutorial)
- Java 8 map + filter + stream example (tutorial)
- How to use Stream class in Java 8 (tutorial)
- How to use forEach() method in Java 8 (example)
- How to format/parse the date with LocalDateTime in Java 8? (tutorial)
- 10 Examples to format and parse Date in Java 8? (tutorial)
- 10 Java Date, Time, and Calendar based Questions from Interviews (questions)
- How to change the date format of String in Java 8? (tutorial)
- How to compare two Dates in Java 8? (example)
- How to convert Timestamp to Date in Java? (example)
- 20 Examples to learn new Date and Time API in Java 8 (example)
- Java 8 Parallel Stream Example (Parallel Stream example)
- 5 Free Courses to learn Java 8 and 9 (courses)
No comments:
Post a Comment