{"id":12603,"date":"2024-03-14T16:11:05","date_gmt":"2024-03-14T16:11:05","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/"},"modified":"2025-08-05T03:59:16","modified_gmt":"2025-08-05T03:59:16","slug":"what-is-the-function-of-flatmap-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/","title":{"rendered":"Java flatMap Function Guide"},"content":{"rendered":"<p>In Java, flatMap is an intermediate operation that maps each element in a stream to another stream, and then combines all these streams into one.<\/p>\n<p>Specifically, the input of the flatMap operation is a stream, and the output is a new stream. For each element in the input stream, flatMap maps it to another stream, and then merges these streams into one stream. This merged stream contains all the elements of the mapped streams.<\/p>\n<p>Using the flatMap operation helps flatten the structure of a stream. For example, if each element in the original stream is a list, using flatMap will merge these lists into a single stream instead of nested streams. This simplifies stream operations, making the code clearer and more concise.<\/p>\n<p>Here is an example demonstrating the usage of flatMap operation:<\/p>\n<pre class=\"post-pre\"><code>List&lt;List&lt;Integer&gt;&gt; numbers = Arrays.asList(\r\n    Arrays.asList(<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>),\r\n    Arrays.asList(<span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">6<\/span>),\r\n    Arrays.asList(<span class=\"hljs-number\">7<\/span>, <span class=\"hljs-number\">8<\/span>, <span class=\"hljs-number\">9<\/span>)\r\n);\r\n\r\nList&lt;Integer&gt; flattenedNumbers = numbers.stream()\r\n    .flatMap(List::stream)\r\n    .collect(Collectors.toList());\r\n\r\nSystem.out.println(flattenedNumbers); <span class=\"hljs-comment\">\/\/ \u8f93\u51fa [1, 2, 3, 4, 5, 6, 7, 8, 9]<\/span>\r\n<\/code><\/pre>\n<p>In the example above, each element in the original stream numbers is a list. We use the flatMap operation to merge these lists into one stream, and then collect the merged stream into a new list. The final output of the flattenedNumbers list contains all elements without nesting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, flatMap is an intermediate operation that maps each element in a stream to another stream, and then combines all these streams into one. Specifically, the input of the flatMap operation is a stream, and the output is a new stream. For each element in the input stream, flatMap maps it to another stream, [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[16547,16548,16546,3738,423],"class_list":["post-12603","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-flatmap-operation","tag-intermediate-operations","tag-java-flatmap","tag-java-streams","tag-stream-api"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java flatMap Function Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn what flatMap does in JavaStreams: maps elements to streams &amp; flattens them into one. Clear explanation &amp; examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java flatMap Function Guide\" \/>\n<meta property=\"og:description\" content=\"Learn what flatMap does in JavaStreams: maps elements to streams &amp; flattens them into one. Clear explanation &amp; examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T16:11:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T03:59:16+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"Java flatMap Function Guide\",\"datePublished\":\"2024-03-14T16:11:05+00:00\",\"dateModified\":\"2025-08-05T03:59:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\"},\"wordCount\":184,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"flatMap operation\",\"intermediate operations\",\"Java flatMap\",\"Java streams\",\"Stream API\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\",\"name\":\"Java flatMap Function Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T16:11:05+00:00\",\"dateModified\":\"2025-08-05T03:59:16+00:00\",\"description\":\"Learn what flatMap does in JavaStreams: maps elements to streams & flattens them into one. Clear explanation & examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java flatMap Function Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java flatMap Function Guide - Blog - Silicon Cloud","description":"Learn what flatMap does in JavaStreams: maps elements to streams & flattens them into one. Clear explanation & examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Java flatMap Function Guide","og_description":"Learn what flatMap does in JavaStreams: maps elements to streams & flattens them into one. Clear explanation & examples.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T16:11:05+00:00","article_modified_time":"2025-08-05T03:59:16+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"Java flatMap Function Guide","datePublished":"2024-03-14T16:11:05+00:00","dateModified":"2025-08-05T03:59:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/"},"wordCount":184,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["flatMap operation","intermediate operations","Java flatMap","Java streams","Stream API"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/","name":"Java flatMap Function Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T16:11:05+00:00","dateModified":"2025-08-05T03:59:16+00:00","description":"Learn what flatMap does in JavaStreams: maps elements to streams & flattens them into one. Clear explanation & examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-function-of-flatmap-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java flatMap Function Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=12603"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12603\/revisions"}],"predecessor-version":[{"id":156414,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12603\/revisions\/156414"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=12603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=12603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=12603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}