{"id":121392,"date":"2024-05-07T07:08:07","date_gmt":"2024-05-07T06:08:07","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=180564"},"modified":"2024-05-07T07:08:07","modified_gmt":"2024-05-07T06:08:07","slug":"convert-an-optional-to-an-arraylist-in-java","status":"publish","type":"post","link":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/2024\/05\/07\/convert-an-optional-to-an-arraylist-in-java\/","title":{"rendered":"Convert an Optional to an ArrayList in Java"},"content":{"rendered":"<p><img src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured-1024x536.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" style=\"float: left; margin-right: 5px;\" decoding=\"async\" srcset=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured-1024x536.png 1024w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured-300x157.png 300w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured-768x402.png 768w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured-100x52.png 100w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured.png 1200w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/p>\n<h2 id=\"bd-introduction\" data-id=\"introduction\">1. Introduction<\/h2>\n<div class=\"bd-anchor\" id=\"introduction\"><\/div>\n<p>Java introduced the <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-optional\"><em>Optional<\/em><\/a> class in Java 8 to represent a value that may or may not be present. <strong>It helps us to avoid <em>NullPointerException<\/em> and write more expressive and readable code.<\/strong> Converting an <em>Optional<\/em> to an <em>ArrayList<\/em> can be useful in scenarios where we want to handle optional values as lists. In this tutorial, we&#8217;ll explore different approaches to convert an <em>Optional<\/em> to an <em>ArrayList<\/em> in Java.<\/p>\n<h2 id=\"bd-using-ispresent\" data-id=\"using-ispresent\">2. Using <em>isPresent()<\/em><\/h2>\n<div class=\"bd-anchor\" id=\"using-ispresent\"><\/div>\n<p>This approach leverages the <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-optional#is-present\"><em>isPresent()<\/em> <\/a>method provided by the <em>Optional<\/em> class to handle a value&#8217;s presence or absence. <strong>It&#8217;s particularly useful when we want to explicitly check if the <em>Optional<\/em> contains a value before performing certain actions or applying custom logic.<\/strong><\/p>\n<p>Let&#8217;s see a code snippet that uses the<em>\u00a0isPresent()<\/em> method:<\/p>\n<pre><code class=\"language-java\">Optional&lt;String&gt; optionalValue = Optional.of(&quot;Hello, World!&quot;);\r\nList&lt;String&gt; arrayList = new ArrayList&lt;&gt;();\r\nif (obj.isPresent()) {\r\n    arrayList.add(obj.get());\r\n}\r\nassertTrue(arrayList.contains(&quot;Hello, World!&quot;));<\/code><\/pre>\n<p>We begin by creating an <em>Optional<\/em> object named <em>optionalValue<\/em>, containing the value &#8220;Hello, World!&#8221;.<strong> This value is encapsulated within the <em>Optional<\/em>, signifying its potential absence.<\/strong> Subsequently, we employ the <em>ifPresent()<\/em> method provided by the <em>Optional<\/em> class.<\/p>\n<p>If the value is present within the <em>Optional<\/em>, we retrieve the value using the <em>get()<\/em> method and add it to the <em>ArrayList<\/em>.<\/p>\n<h2 id=\"bd-using-orelse-ororelseget\" data-id=\"using-orelse-ororelseget\">3. Using <em>orElse() <\/em>or<em>\u00a0orElseGet()<\/em><\/h2>\n<div class=\"bd-anchor\" id=\"using-orelse-ororelseget\"><\/div>\n<p>This approach leverages the <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-optional-or-else-vs-or-else-get\"><em>orElse()<\/em> <\/a>method provided by the <em>Optional<\/em> class. It allows us to specify a default value to use if the <em>Optional<\/em> is empty. <strong>This is particularly useful when we have a fallback value or behavior we want to apply when the <em>Optional<\/em> doesn&#8217;t contain a value.<\/strong><\/p>\n<p>In this case, we&#8217;re creating an empty <em>Optional<\/em>, so when the <em>orElse()<\/em> method is invoked, it will return a default value of &#8220;Hello World&#8221;:<\/p>\n<pre><code class=\"language-java\">Optional&lt;String&gt; emptyOptional = Optional.empty();\r\nList&lt;String&gt; arrayList = new ArrayList&lt;&gt;();\r\narrayList.add(emptyOptional.orElse(&quot;Hello World!&quot;));\r\nassertTrue(arrayList.contains(&quot;Hello, World!&quot;));\r\n<\/code><\/pre>\n<p>In the example, we create an empty <em>Optional<\/em> named <em>emptyOptional<\/em> using the <em>empty()<\/em> method. Since the <em>emptyOptional<\/em> is empty, calling <em>orElse()<\/em> will return the specified default value, &#8220;Hello World&#8221;. Then, we add this default value to the <em>ArrayList<\/em>.<\/p>\n<p>Note that when using <em>orElse()<\/em>, the provided default value is evaluated eagerly. <strong>This means it&#8217;s calculated regardless of whether the <em>Optional<\/em> needs it.<\/strong> Even if the <em>Optional<\/em> holds a non-null value, the default value is still created, <strong>whereas the default value provided to <em>orElseGet()<\/em> is evaluated lazily.<\/strong> It&#8217;s only invoked if the <em>Optional<\/em> is empty.<\/p>\n<p>Moreover, for performance-critical scenarios, <em>orElseGet()<\/em> is usually preferred because it avoids unnecessary computation when the <em>Optional<\/em> already contains a value:<\/p>\n<pre><code class=\"language-java\">Optional&lt;String&gt; emptyOptional = Optional.empty(); \r\nList&lt;String&gt; arrayList = new ArrayList&lt;&gt;(); \r\narrayList.add(emptyOptional.orElseGet(() -&gt; &quot;Hello, World!&quot;)); \r\nassertTrue(arrayList.contains(&quot;Hello, World!&quot;));\r\n<\/code><\/pre>\n<h2 id=\"bd-using-java-streams\" data-id=\"using-java-streams\">4. Using Java Streams<\/h2>\n<div class=\"bd-anchor\" id=\"using-java-streams\"><\/div>\n<p>A Stream in Java represents a sequence of elements that can be processed in a pipeline of operations. We can utilize the <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-8-streams-introduction\">Streams<\/a> API to create the <em>ArrayList<\/em> conditionally.<\/p>\n<h3 id=\"bd-1-implementation\" data-id=\"1-implementation\">4.1. Implementation<\/h3>\n<div class=\"bd-anchor\" id=\"1-implementation\"><\/div>\n<p>Let&#8217;s look at an example using Java Streams to convert an <em>Optional<\/em> object to <em>ArrayList<\/em>:<\/p>\n<pre><code class=\"language-java\">Optional&lt;String&gt; optionalValue = Optional.of(&quot;Hello, World!&quot;);\r\nList&lt;String&gt; arrayList = optionalValue\r\n  .stream()\r\n  .collect(Collectors.toList());\r\nassertTrue(arrayList.contains(&quot;Hello, World!&quot;));\r\n<\/code><\/pre>\n<p>First, we create an <em>Optional<\/em> object named <em>optionalValue<\/em> with a value of &#8220;Hello, World!&#8221;. Next, we convert the <em>Optional<\/em> to an <em>ArrayList<\/em> using a Java <em>Stream<\/em>. <strong>We call the <em>stream()<\/em> method on <em>optionalValue<\/em> to obtain a stream of its elements.<\/strong> Then, we use the <em>collect()<\/em> method with <em>Collectors.toList()<\/em> to collect the elements of the stream into a <em>List<\/em>, effectively converting the <em>Optional<\/em> to an <em>ArrayList<\/em>.<\/p>\n<p>If the <em>Optional<\/em> is empty, meaning it does not contain a value, the resulting <em>ArrayList<\/em> will also be empty.<strong> In Java Streams, if the stream source is empty, the terminal operation \u2014 <em>collect()<\/em> in this case \u2014 will simply return an empty collection.<\/strong><\/p>\n<h3 id=\"bd-2-stream-filtering\" data-id=\"2-stream-filtering\">4.2. Stream Filtering<\/h3>\n<div class=\"bd-anchor\" id=\"2-stream-filtering\"><\/div>\n<p><strong>One of the advantages of using Java Stream API is that it allows us to process elements conditionally and perform various transformations.<\/strong> Imagine we only want to add values to the <em>ArrayList<\/em> if they meet certain criteria. Streams allow us to incorporate <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-filter-stream-of-optional\"><em>filter()<\/em><\/a> before collecting elements into a list:<\/p>\n<pre><code class=\"language-java\">Optional&lt;String&gt; optionalValue = Optional.of(&quot;Hello, World!&quot;);\r\nList&lt;String&gt; arrayList = optionalValue\r\n  .filter(e -&gt; e.startsWith(&quot;H&quot;))\r\n  .stream()\r\n  .collect(Collectors.toList());\r\nassertTrue(arrayList.contains(&quot;Hello, World!&quot;));\r\n<\/code><\/pre>\n<p>Here, we filter the <em>Optional<\/em> containing a list of <em>String<\/em> using <em>filter()<\/em>. This method keeps only elements that start with the letter &#8220;H&#8221;. We then collect the resulting filtered elements into an <em>ArrayList<\/em> using the <em>collect(Collectors.toList())<\/em> method.<\/p>\n<h3 id=\"bd-3-stream-flattening\" data-id=\"3-stream-flattening\">4.3. Stream Flattening<\/h3>\n<div class=\"bd-anchor\" id=\"3-stream-flattening\"><\/div>\n<p><strong>Java Streams offer an additional advantage when dealing with nested lists.<\/strong> Consider a scenario where an <em>Optional<\/em> contains another <em>Optional<\/em>, which in turn holds a list. We can use Java Streams to flatten the nested list.<\/p>\n<p>Let&#8217;s write an example that demonstrates how to flatten a nested list within an <em>Optional<\/em>:<\/p>\n<pre><code class=\"language-java\">Optional&lt;List&lt;String&gt;&gt; optionalList = Optional.of(Arrays.asList(&quot;Apple&quot;, &quot;Banana&quot;, &quot;Cherry&quot;));\r\nList&lt;String&gt; arrayList = optionalList\r\n  .stream()\r\n  .flatMap(List::stream)\r\n  .collect(Collectors.toList());\r\nassertEquals(3, arrayList.size());\r\nassertTrue(arrayList.contains(&quot;Apple&quot;));<\/code><\/pre>\n<p>We call <em>stream()<\/em> on the <em>Optional&lt;List&lt;String&gt;&gt;<\/em> to convert it into a stream. Next, we use <em>flatMap(List::stream). <\/em>This applies the <em>List::stream<\/em> method reference to each element in the stream. <strong>By applying <em>flatMap()<\/em>, we essentially &#8220;flatten&#8221; the nested structure.<\/strong> Instead of a single stream containing a list, we now have a stream containing the individual elements from the inner list.<\/p>\n<h2 id=\"bd-conclusion\" data-id=\"conclusion\">5. Conclusion<\/h2>\n<div class=\"bd-anchor\" id=\"conclusion\"><\/div>\n<p>In this article, we explored various approaches to convert <em>Optional<\/em> to <em>ArrayList<\/em>. We use the <em>isPresent()<\/em> method if we need to perform specific actions based on the presence of an <em>Optional<\/em> value. When we have a default value to use if the <em>Optional<\/em> is empty, we can use <em>orElse()<\/em> or <em>orElseGet()<\/em>. <strong>Lastly, Java Streams is a good option for concise conversions, especially if we need to do filtering before converting to a list.<\/strong><\/p>\n<p>As always, the source code for the examples is available <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/github.com\/eugenp\/tutorials\/tree\/master\/core-java-modules\/core-java-collections-conversions-3\">over on GitHub<\/a>.<\/p>\n<p><Img align=\"left\" border=\"0\" height=\"1\" width=\"1\" alt=\"\" style=\"border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;\" hspace=\"0\" src=\"https:\/\/feeds.feedblitz.com\/~\/i\/896021411\/0\/baeldung\"><\/p>\n<div style=\"clear:both;padding-top:0.2em;\"><a title=\"Like on Facebook\" href=\"https:\/\/feeds.feedblitz.com\/_\/28\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/fblike20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Pin it!\" href=\"https:\/\/feeds.feedblitz.com\/_\/29\/896021411\/baeldung,https%3A%2F%2Fwww.baeldung.com%2Fwp-content%2Fuploads%2F2021%2F09%2FJava-5-Featured-1024x536.png\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/pinterest20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Post to X.com\" href=\"https:\/\/feeds.feedblitz.com\/_\/24\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/x.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Subscribe by email\" href=\"https:\/\/feeds.feedblitz.com\/_\/19\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/email20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Subscribe by RSS\" href=\"https:\/\/feeds.feedblitz.com\/_\/20\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/rss20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a rel=\"NOFOLLOW\" title=\"View Comments\" href=\"https:\/\/www.baeldung.com\/java-optional-arraylist-conversion#respond\"><img decoding=\"async\" height=\"20\" style=\"border:0;margin:0;padding:0;\" src=\"https:\/\/assets.feedblitz.com\/i\/comments20.png\"><\/a>&#160;<a title=\"Follow Comments via RSS\" href=\"https:\/\/www.baeldung.com\/java-optional-arraylist-conversion\/feed\"><img decoding=\"async\" height=\"20\" style=\"border:0;margin:0;padding:0;\" src=\"https:\/\/assets.feedblitz.com\/i\/commentsrss20.png\"><\/a>&#160;<\/div>\n\n<h2><b>Commercials Cooperation Advertisements:<\/b><\/h2>\r\n<p><br>(1) IT Teacher IT Freelance<br> <\/p>\r\n<a href=https:\/\/itteacheritfreelance.hk\/wordpress><img src=http:\/\/gamefootballmobileanimeiphone.com\/wp-content\/uploads\/2023\/09\/ITTeacherITFreelance-Website.png alt=IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\/><\/a><p><a href=https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/findteacher>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427! <\/a><br>\r\n\r\n\u7535\u5b50\u8ba1\u7b97\u673a -\u6559\u80b2 -IT \u96fb\u8166\u73ed\u201d ( IT\u96fb\u8166\u88dc\u7fd2 ) \u63d0\u4f9b\u4e00\u500b\u65b9\u4fbf\u7684\u7535\u5b50\u8ba1\u7b97\u673a \u6559\u80b2\u5e73\u53f0, \u70ba\u5927\u5bb6\u914d\u5c0d\u4fe1\u606f\u6280\u672f, \u96fb\u8166 \u8001\u5e2b, IT freelance \u548c programming expert. \u8b93\u5927\u5bb6\u65b9\u4fbf\u5730\u5c31\u80fd\u627e\u5230\u5408\u9069\u7684\u96fb\u8166\u88dc\u7fd2, \u96fb\u8166\u73ed, \u5bb6\u6559, \u79c1\u4eba\u8001\u5e2b.  <br>\r\n\r\nWe are a education and information platform which you can find a IT private tutorial teacher or freelance. <br>\r\n\r\nAlso we provide different information about information technology, Computer, programming, mobile, Android, apple, game, movie, anime, animation\u2026 \r\n<\/p>\n<p><br>(2) ITSec<br> <\/p><a href=https:\/\/itsec.vip><img src=http:\/\/gamefootballmobileanimeiphone.com\/wp-content\/uploads\/2023\/09\/ITSec-Main-Promotion-Image.png alt= https:\/\/itsec.vip\/\r\nSecure Your Computers from Cyber Threats and mitigate risks with professional services to defend Hackers.  \r\nITSec provide IT Security and Compliance Services, including IT Compliance Services, Risk Assessment, IT Audit, Security Assessment and Audit, ISO 27001 Consulting and Certification, GDPR Compliance Services, Privacy Impact Assessment (PIA), Penetration test, Ethical Hacking, Vulnerabilities scan, IT Consulting, Data Privacy Consulting, Data Protection Services, Information Security Consulting, Cyber Security Consulting, Network Security Audit, Security Awareness Training.\/><\/a> \r\n<br><br> \r\n<p><a href=https:\/\/itsec.vip>www.ITSec.vip<\/a> <br> <br> \r\n<p><a href=https:\/\/sraa.com.hk>www.Sraa.com.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/itsec.hk>www.ITSec.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/penetrationtest.hk>www.Penetrationtest.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/itseceu.uk>www.ITSeceu.uk<\/a> <br> <br> \r\nSecure Your Computers from Cyber Threats and mitigate risks with professional services to defend Hackers. <br><br>\r\nITSec provide IT Security and Compliance Services, including IT Compliance Services, Risk Assessment, IT Audit, Security Assessment and Audit, ISO 27001 Consulting and Certification, GDPR Compliance Services, Privacy Impact Assessment (PIA), Penetration test, Ethical Hacking, Vulnerabilities scan, IT Consulting, Data Privacy Consulting, Data Protection Services, Information Security Consulting, Cyber Security Consulting, Network Security Audit, Security Awareness Training. \r\n<br><br>Contact us right away. <br><br>Email (Prefer using email to contact us): <br>SalesExecutive@ITSec.vip<\/p>","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-5-Featured-1024x536.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\"><\/p>\n<p>Explore various approaches to converting Optional to ArrayList.<\/p>\n<div><a title=\"Like on Facebook\" href=\"https:\/\/feeds.feedblitz.com\/_\/28\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/fblike20.png\"><\/a>\u00a0<a title=\"Pin it!\" href=\"https:\/\/feeds.feedblitz.com\/_\/29\/896021411\/baeldung,https%3A%2F%2Fwww.baeldung.com%2Fwp-content%2Fuploads%2F2021%2F09%2FJava-5-Featured-1024x536.png\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/pinterest20.png\"><\/a>\u00a0<a title=\"Post to X.com\" href=\"https:\/\/feeds.feedblitz.com\/_\/24\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/x.png\"><\/a>\u00a0<a title=\"Subscribe by email\" href=\"https:\/\/feeds.feedblitz.com\/_\/19\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/email20.png\"><\/a>\u00a0<a title=\"Subscribe by RSS\" href=\"https:\/\/feeds.feedblitz.com\/_\/20\/896021411\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/rss20.png\"><\/a>\u00a0<a rel=\"NOFOLLOW\" title=\"View Comments\" href=\"https:\/\/www.baeldung.com\/java-optional-arraylist-conversion#respond\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/comments20.png\"><\/a>\u00a0<a title=\"Follow Comments via RSS\" href=\"https:\/\/www.baeldung.com\/java-optional-arraylist-conversion\/feed\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/commentsrss20.png\"><\/a>\u00a0<\/div>\n","protected":false},"author":2101,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[22],"tags":[61,122,127,129,124,128,125,132,131,133,126,130,123,66,94,88,97,56,64,65,60,112,40,75,95,104,33,120,105,101,98,115,30,29,41,86,70,69,68,72,71,26,118,108,87,46,55,48,52,54,51,50,83,62,58,57,109,35,59,63,85,79,82,96,80,27,81,114,44,42,43,45,38,39,110,117,100,111,116,73,89,90,92,91,29729,93,84,78,37,102,34,36,77,67,74,99,113,119,28,121,32,47,49,53,103,31,76],"class_list":["post-121392","post","type-post","status-publish","format-standard","hentry","category-mobile","tag-airpods","tag-anime","tag-anime-characters","tag-anime-cosplay","tag-anime-edits","tag-anime-merchandise","tag-anime-movies","tag-anime-news","tag-anime-recommendations","tag-anime-reviews","tag-anime-series","tag-anime-streaming","tag-animes","tag-app-store","tag-app-store-samsung","tag-appgallery","tag-appgallery-oneplus","tag-apple","tag-apple-music","tag-apple-tv","tag-apple-watch","tag-bbc-sport","tag-best-mobile-games","tag-bixby","tag-bixby-xiaomi","tag-champions-league","tag-cyberpunk","tag-cyberpunk-2077","tag-fantasy-football","tag-fifa","tag-football","tag-formula-1","tag-fortnite","tag-free-fire","tag-free-mobile-games","tag-freebuds-pro","tag-galaxy-a52","tag-galaxy-note-20","tag-galaxy-s21","tag-galaxy-watch-4","tag-galaxy-z-fold-3","tag-game","tag-games","tag-golf","tag-harmonyos","tag-how-to-backup-iphone","tag-how-to-factory-reset-iphone","tag-how-to-reset-iphone","tag-how-to-restore-iphone","tag-how-to-unlock-iphone","tag-how-to-unlock-iphone-5","tag-how-to-unlock-iphone-6","tag-huawei","tag-ios","tag-ipad","tag-iphone","tag-live-soccer","tag-lol","tag-macbook","tag-macos","tag-mate-40-pro","tag-mi-11-lite","tag-mi-home-security-camera-basic-1080p","tag-mi-home-security-camera-basic-1080p-huawei","tag-mi-smart-band-6","tag-minecraft","tag-miui","tag-mlb-scores","tag-mobile-game-design","tag-mobile-game-development","tag-mobile-game-marketing","tag-mobile-game-monetization","tag-mobile-games","tag-mobile-gaming","tag-nba-scores","tag-nba-standings","tag-nfl","tag-nfl-scores","tag-nhl-scores","tag-one-ui","tag-oneplus","tag-oneplus-9-pro","tag-oneplus-buds-pro","tag-oneplus-nord-ce-5g","tag-optional","tag-oxygenos","tag-p40-pro-plus","tag-poco-x3-pro","tag-pokemon","tag-premier-league","tag-pubg","tag-pubg-mobile","tag-redmi-note-10-pro","tag-samsung","tag-samsung-pay","tag-soccer","tag-sports","tag-steam","tag-steeam","tag-top-10-anime","tag-valorant","tag-when-do-the-iphone-7-come-out","tag-when-does-the-iphone-7-come-out","tag-when-is-the-iphone-7-coming-out","tag-world-cup","tag-xbox-series-x","tag-xiaomi"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/121392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/users\/2101"}],"replies":[{"embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/comments?post=121392"}],"version-history":[{"count":1,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/121392\/revisions"}],"predecessor-version":[{"id":121393,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/121392\/revisions\/121393"}],"wp:attachment":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/media?parent=121392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/categories?post=121392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/tags?post=121392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}