Functional Programming - flatMap


This is when the element that you get in the stream is a list. You can flatten this list of list in a list of element. You do that with a flatMap operations.

The flatMap operation produces any number of output values per input value – include zero

The flatMap() operation has the effect of applying a one-to-many transformation to the elements of the stream (a list of list will create one big list), and then flattening the resulting elements into a new stream.


A table may have several foreigns key. If we have several tables and that we want a list of all foreigns keys, we need flatMap to go from a list of foreign key by table to a list of keys for all tables.


In Java, you need to return a stream with Stream.of of the stream method of any collections.

List<ForeignKey> foreignKeys = tables

Powered by ComboStrap