{"id":91417,"date":"2022-10-11T20:04:37","date_gmt":"2022-10-12T01:04:37","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/"},"modified":"2022-10-11T20:04:37","modified_gmt":"2022-10-12T01:04:37","slug":"java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/","title":{"rendered":"Java-str\u00f6mmar f\u00f6r nyb\u00f6rjare: En introduktion till att anv\u00e4nda str\u00f6mmar i Java"},"content":{"rendered":"<div>\n<p>Java 8-str\u00f6mmar till\u00e5ter utvecklare att extrahera exakta data fr\u00e5n en stor samling med hj\u00e4lp av en upps\u00e4ttning f\u00f6rdefinierade operationer.<\/p>\n<p>F\u00f6re lanseringen av Java 8 skulle anv\u00e4ndningen av termen \u201cstr\u00f6m\u201d i Java automatiskt associeras med I\/O.  Java 8 introducerade dock en str\u00f6m som kan h\u00e4nvisas till som en upps\u00e4ttning ber\u00e4kningssteg kedjade samman i vad som vanligtvis kallas en \u201cstr\u00f6mpipeline\u201d.<\/p>\n<p>Den h\u00e4r artikeln kommer att introducera dig till Java 8-str\u00f6mmar och visa hur de kan vara anv\u00e4ndbara i dina projekt.<\/p>\n<h2 id=\"what-is-a-stream\"><span class=\"ez-toc-section\" id=\"Vad_ar_en_stream\"><\/span>  Vad \u00e4r en stream?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>En str\u00f6m \u00e4r ett Java-gr\u00e4nssnitt som tar en k\u00e4lla, utf\u00f6r en upps\u00e4ttning operationer f\u00f6r att extrahera specifik data och sedan tillhandah\u00e5ller dessa data till applikationen f\u00f6r anv\u00e4ndning.  I huvudsak l\u00e5ter det dig extrahera specialiserad data fr\u00e5n en samling generaliserade data.<\/p>\n<h2 id=\"how-streams-work\"><span class=\"ez-toc-section\" id=\"Hur_strommar_fungerar\"><\/span>  Hur str\u00f6mmar fungerar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>En str\u00f6mpipeline b\u00f6rjar alltid med en k\u00e4lla.  Typen av k\u00e4lla beror p\u00e5 vilken typ av data du har att g\u00f6ra med, men tv\u00e5 av de mer popul\u00e4ra \u00e4r arrayer och samlingar.<\/p>\n<p>F\u00f6r att omvandla samlingen till en f\u00f6rsta str\u00f6m m\u00e5ste du l\u00e4gga till <strong>str\u00f6m()<\/strong> funktion till k\u00e4llan.  Detta kommer att placera k\u00e4llan i str\u00f6mledningen d\u00e4r flera olika mellanliggande operationer (t.ex <strong>filtrera() <\/strong>och<strong> sortera()<\/strong>) kan operera p\u00e5 den.<\/p>\n<p>Efter att alla n\u00f6dv\u00e4ndiga mellanoperationer har utf\u00f6rts kan du inf\u00f6ra en terminaloperation (t.ex <strong>f\u00f6r varje()<\/strong>), som kommer att producera tidigare extraherade data fr\u00e5n k\u00e4llan.<\/p>\n<h2 id=\"life-without-streams\"><span class=\"ez-toc-section\" id=\"Livet_utan_strommar\"><\/span>  Livet utan str\u00f6mmar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Java 8 sl\u00e4pptes 2014, men innan dess beh\u00f6vde Java-utvecklare fortfarande extrahera specialiserad data fr\u00e5n en samling allm\u00e4nna data.<\/p>\n<p>L\u00e5t oss s\u00e4ga att du har en lista med slumpm\u00e4ssiga tecken som kombineras med slumpm\u00e4ssiga siffror f\u00f6r att bilda unika str\u00e4ngv\u00e4rden, men du vill bara ha de v\u00e4rden som b\u00f6rjar med tecknet \u201cC\u201d och du vill ordna resultatet i stigande ordning.  S\u00e5 h\u00e4r skulle du extrahera den datan utan str\u00f6mmar.<\/p>\n<h3 id=\"filtering-and-sorting-values-without-streams-example\"><span class=\"ez-toc-section\" id=\"Exempel_pa_filtrering_och_sortering_av_varden_utan_strommar\"><\/span>Exempel p\u00e5 filtrering och sortering av v\u00e4rden utan str\u00f6mmar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><br\/>import java.util.ArrayList;<br\/>import java.util.Arrays;<br\/>import java.util.List;<br\/>public class Main {<br\/>public static void main(String[] args) {<br\/>\/\/declare and initialize the array list<br\/>List&lt;String&gt; randomValues = Arrays.asList(<br\/>\"E11\", \"D12\", \"A13\", \"F14\", \"C15\", \"A16\",<br\/>\"B11\", \"B12\", \"C13\", \"B14\", \"B15\", \"B16\",<br\/>\"F12\", \"E13\", \"C11\", \"C14\", \"A15\", \"C16\",<br\/>\"F11\", \"C12\", \"D13\", \"E14\", \"D15\", \"D16\"<br\/>);<br\/>\/\/declare the array list will store needed values<br\/>List&lt;String&gt; requiredValues = new ArrayList&lt;&gt;();<br\/>\/\/extracting the required values and storing them in reqquiredValues<br\/>randomValues.forEach(value -&gt; {<br\/>if(value.startsWith(\"C\")) {<br\/>requiredValues.add(value);<br\/>}<br\/>});<br\/>\/\/sort the requiredValues in ascending order<br\/>requiredValues.sort((String value1, String value2) -&gt; value1.compareTo(value2));<br\/>\/\/print each value to the console<br\/>requiredValues.forEach((String value) -&gt; System.out.println(value));<br\/>}<br\/>}<br\/><\/pre>\n<p>Du m\u00e5ste ocks\u00e5 deklarera och initiera arraylistan oavsett om du anv\u00e4nder str\u00f6mmar eller n\u00e5gon annan metod f\u00f6r extraktion.  Vad du inte skulle beh\u00f6va g\u00f6ra om du anv\u00e4nde str\u00f6mmar \u00e4r att deklarera en ny variabel f\u00f6r att h\u00e5lla de n\u00f6dv\u00e4ndiga v\u00e4rdena, och inte heller skapa de andra fem plusraderna med kod i exemplet ovan.<\/p>\n<p>Koden ovan producerar f\u00f6ljande utdata i konsolen:<\/p>\n<pre><br\/>C11<br\/>C12<br\/>C13<br\/>C14<br\/>C15<br\/>C16<br\/><\/pre>\n<h2 id=\"life-with-streams\"><span class=\"ez-toc-section\" id=\"Livet_med_strommar\"><\/span>  Livet med str\u00f6mmar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Inom programmering talar effektivitet om att producera samma resultat med betydligt mindre kod.  Detta \u00e4r precis vad en str\u00f6mpipeline g\u00f6r f\u00f6r en programmerare.  S\u00e5 n\u00e4sta g\u00e5ng n\u00e5gon fr\u00e5gar: \u201cvarf\u00f6r \u00e4r det viktigt att anv\u00e4nda str\u00f6mmar i ditt projekt?\u201d  Enkelt uttryckt: \u201cstr\u00f6mmar st\u00f6der effektiv programmering.\u201d<\/p>\n<p>F\u00f6r att forts\u00e4tta med v\u00e5rt exempel ovan, \u00e4r det h\u00e4r hur introduktionen av str\u00f6mmar f\u00f6rvandlar hela programmet.<\/p>\n<h3 id=\"filtering-and-sorting-values-with-a-stream-example\"><span class=\"ez-toc-section\" id=\"Filtrera_och_sortera_varden_med_ett_stromexempel\"><\/span>Filtrera och sortera v\u00e4rden med ett str\u00f6mexempel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><br\/>import java.util.Arrays;<br\/>import java.util.List;<br\/>public class Main {<br\/>public static void main(String[] args) {<br\/>\/\/declare and initialize the array list<br\/>List&lt;String&gt; randomValues = Arrays.asList(<br\/>\"E11\", \"D12\", \"A13\", \"F14\", \"C15\", \"A16\",<br\/>\"B11\", \"B12\", \"C13\", \"B14\", \"B15\", \"B16\",<br\/>\"F12\", \"E13\", \"C11\", \"C14\", \"A15\", \"C16\",<br\/>\"F11\", \"C12\", \"D13\", \"E14\", \"D15\", \"D16\"<br\/>);<br\/>\/\/retrieves only values that start with C, sort them, and print them to the console.<br\/>randomValues.stream().filter(value-&gt;value.startsWith(\"C\")).sorted().forEach(System.out::println);<br\/>}<br\/>}<br\/><\/pre>\n<p>Koden ovan visar hur kraftfullt stream-gr\u00e4nssnittet \u00e4r.  Den tar en lista med slumpm\u00e4ssiga arrayv\u00e4rden och omvandlar den till en str\u00f6m med hj\u00e4lp av <strong>str\u00f6m() <\/strong>fungera.  Str\u00f6mmen reduceras sedan till en arraylista som inneh\u00e5ller de n\u00f6dv\u00e4ndiga v\u00e4rdena (vilket \u00e4r alla v\u00e4rden som b\u00f6rjar med <strong>C<\/strong>), anv\u00e4nda <strong>filtrera()<\/strong> fungera.<\/p>\n<p>Som du kan se i exemplet ovan \u00e4r <strong>C<\/strong> v\u00e4rden \u00e4r slumpm\u00e4ssigt ordnade i arraylistan.  Om du skulle skriva ut str\u00f6mmen vid denna tidpunkt i pipelinen, v\u00e4rdet <strong>C15<\/strong> skulle skrivas ut f\u00f6rst.  D\u00e4rf\u00f6r <strong>sortera() <\/strong>funktionen introduceras till str\u00f6mpipelinen f\u00f6r att ordna om den nya arrayen i stigande ordning.<\/p>\n<p>Den sista funktionen i str\u00f6mledningen \u00e4r en <strong>f\u00f6r varje()<\/strong> fungera.  Detta \u00e4r en terminalfunktion som anv\u00e4nds f\u00f6r att stoppa str\u00f6mledningen och ger f\u00f6ljande resultat i konsolen:<\/p>\n<pre><br\/>C11<br\/>C12<br\/>C13<br\/>C14<br\/>C15<br\/>C16<br\/><\/pre>\n<p>Det finns en omfattande lista \u00f6ver mellanliggande operationer som kan anv\u00e4ndas i en str\u00f6mpipeline.<\/p>\n<p>En str\u00f6mpipeline b\u00f6rjar alltid med en enda k\u00e4lla och en <strong>str\u00f6m() <\/strong>funktion, och slutar alltid med en enda terminaloperation (\u00e4ven om det finns flera olika att v\u00e4lja mellan.) Men mellan dessa tv\u00e5 avsnitt finns en lista med sex mellanoperationer som du kan anv\u00e4nda.<\/p>\n<p>I v\u00e5rt exempel ovan anv\u00e4nds endast tv\u00e5 av dessa mellanliggande operationer\u2014<strong>filtrera()<\/strong> och <strong>sortera()<\/strong>.  Den mellanliggande operation som du v\u00e4ljer beror p\u00e5 de uppgifter du vill utf\u00f6ra.<\/p>\n<p>Om n\u00e5got av v\u00e4rdena som b\u00f6rjar med \u201cC\u201d i v\u00e5r matrislista ovan var med gemener, och vi utf\u00f6rde samma mellanliggande operationer p\u00e5 dem, skulle vi f\u00e5 f\u00f6ljande resultat.<\/p>\n<h3 id=\"performing-filter-and-sort-operations-on-lowercase-values-example\"><span class=\"ez-toc-section\" id=\"Utfora_filter-_och_sorteringsoperationer_pa_gemener_exempel\"><\/span>Utf\u00f6ra filter- och sorteringsoperationer p\u00e5 gemener exempel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><br\/>import java.util.Arrays;<br\/>import java.util.List;<br\/>public class Main {<br\/>public static void main(String[] args) {<br\/>\/\/declare and initialize the array list<br\/>List&lt;String&gt; randomValues = Arrays.asList(<br\/>\"E11\", \"D12\", \"A13\", \"F14\", \"C15\", \"A16\",<br\/>\"B11\", \"B12\", \"c13\", \"B14\", \"B15\", \"B16\",<br\/>\"F12\", \"E13\", \"C11\", \"C14\", \"A15\", \"c16\",<br\/>\"F11\", \"C12\", \"D13\", \"E14\", \"D15\", \"D16\"<br\/>);<br\/>\/\/retrieves only values that start with C, sort them, and print them to the console.<br\/>randomValues.stream().filter(value-&gt;value.startsWith(\"C\")).sorted().forEach(System.out::println);<br\/>}<br\/>}<br\/><\/pre>\n<p>Koden ovan kommer att producera f\u00f6ljande v\u00e4rden i konsolen:<\/p>\n<pre><br\/>C11<br\/>C12<br\/>C14<br\/>C15<br\/><\/pre>\n<p>Det enda problemet med utg\u00e5ngen ovan \u00e4r att den inte exakt representerar alla <strong>C <\/strong>v\u00e4rden i v\u00e5r matrislista.  Ett bra s\u00e4tt att \u00e5tg\u00e4rda detta lilla fel \u00e4r att introducera en annan mellanoperation i str\u00f6mledningen;  denna operation \u00e4r k\u00e4nd som <strong>Karta()<\/strong> fungera.<\/p>\n<h3 id=\"using-the-map-function-example\"><span class=\"ez-toc-section\" id=\"Anvanda_kartfunktionens_exempel\"><\/span>Anv\u00e4nda kartfunktionens exempel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><br\/>import java.util.Arrays;<br\/>import java.util.List;<br\/>public class Main {<br\/>public static void main(String[] args) {<br\/>\/\/declare and initialize the array list<br\/>List&lt;String&gt; randomValues = Arrays.asList(<br\/>\"E11\", \"D12\", \"A13\", \"F14\", \"C15\", \"A16\",<br\/>\"B11\", \"B12\", \"c13\", \"B14\", \"B15\", \"B16\",<br\/>\"F12\", \"E13\", \"C11\", \"C14\", \"A15\", \"c16\",<br\/>\"F11\", \"C12\", \"D13\", \"E14\", \"D15\", \"D16\"<br\/>);<br\/>\/\/transforms all lower case characters to upper case,<br\/>\/\/retrieves only values that start with C, sort them, and print them to the console.<br\/>randomValues.stream().map(String::toUpperCase).filter(value-&gt;value.startsWith(\"C\")).sorted().forEach(System.out::println);<br\/>}<br\/>}<br\/><\/pre>\n<p>De <strong>Karta() <\/strong>funktion omvandlar ett objekt fr\u00e5n ett tillst\u00e5nd till ett annat;  i v\u00e5rt exempel ovan omvandlar den alla gemener i arraylistan till versaler.<\/p>\n<p>Att placera <strong>Karta()<\/strong> funktion strax f\u00f6re <strong>filtrera()<\/strong> funktion h\u00e4mtar alla v\u00e4rden som b\u00f6rjar med <strong>C<\/strong> fr\u00e5n arraylistan.<\/p>\n<p>Koden ovan ger f\u00f6ljande resultat i konsolen, som framg\u00e5ngsrikt representerar alla <strong>C <\/strong>v\u00e4rden i arraylistan.<\/p>\n<pre><br\/>C11<br\/>C12<br\/>C13<br\/>C14<br\/>C15<br\/>C16<br\/><\/pre>\n<p>De andra tre mellanliggande operationerna som du kan anv\u00e4nda i dina applikationer inkluderar:<\/p>\n<h2 id=\"java-8-streams-facilitate-the-creation-of-efficient-code\"><span class=\"ez-toc-section\" id=\"Java_8-strommar_underlattar_skapandet_av_effektiv_kod\"><\/span>  Java 8-str\u00f6mmar underl\u00e4ttar skapandet av effektiv kod<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Med Java 8-str\u00f6mmar kan du extrahera extra specifik, relevant data fr\u00e5n en stor k\u00e4lla med en rad kod.  S\u00e5 l\u00e4nge du inkluderar initialen <strong>str\u00f6m()<\/strong> funktion och en terminaloperat\u00f6r kan du anv\u00e4nda vilken kombination av mellanoperationer som helst som ger passande utg\u00e5ngar f\u00f6r ditt m\u00e5l.<\/p>\n<p>Om du undrar \u00f6ver kodraden som finns i v\u00e5r <strong>filtrera()<\/strong> fungera;  det \u00e4r k\u00e4nt som ett \u201clambda-uttryck\u201d.  Lambda-uttryck \u00e4r en annan funktion som introduceras med Java 8, och den har m\u00e5nga nuggets som du kan ha nytta av.<\/p>\n<p>    <strong class=\"section-sub-title\">Om f\u00f6rfattaren<\/strong><\/p>\n<p>            <strong class=\"bio-title\">Kadeisha Kean (39 artiklar publicerade)<br \/><\/strong><\/p>\n<p>Kadeisha Kean \u00e4r en full-stack mjukvaruutvecklare och teknisk\/teknikskribent.  Hon har den distinkta f\u00f6rm\u00e5gan att f\u00f6renkla n\u00e5gra av de mest komplexa tekniska koncepten;  producera material som l\u00e4tt kan f\u00f6rst\u00e5s av alla nyb\u00f6rjare.  Hon brinner f\u00f6r att skriva, utveckla intressant programvara och att resa runt i v\u00e4rlden (genom dokument\u00e4rer).<\/p>\n<p>                            Mer fr\u00e5n Kadeisha Kean<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Prenumerera_pa_vart_nyhetsbrev\"><\/span>Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>G\u00e5 med i v\u00e5rt nyhetsbrev f\u00f6r tekniska tips, recensioner, free e-b\u00f6cker och exklusiva erbjudanden!<\/p>\n<p>Klicka h\u00e4r f\u00f6r att prenumerera<\/p>\n<\/p><\/div>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Vad_ar_en_stream\" >Vad \u00e4r en stream?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Hur_strommar_fungerar\" >Hur str\u00f6mmar fungerar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Livet_utan_strommar\" >Livet utan str\u00f6mmar<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Exempel_pa_filtrering_och_sortering_av_varden_utan_strommar\" >Exempel p\u00e5 filtrering och sortering av v\u00e4rden utan str\u00f6mmar<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Livet_med_strommar\" >Livet med str\u00f6mmar<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Filtrera_och_sortera_varden_med_ett_stromexempel\" >Filtrera och sortera v\u00e4rden med ett str\u00f6mexempel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Utfora_filter-_och_sorteringsoperationer_pa_gemener_exempel\" >Utf\u00f6ra filter- och sorteringsoperationer p\u00e5 gemener exempel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Anvanda_kartfunktionens_exempel\" >Anv\u00e4nda kartfunktionens exempel<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Java_8-strommar_underlattar_skapandet_av_effektiv_kod\" >Java 8-str\u00f6mmar underl\u00e4ttar skapandet av effektiv kod<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blogging-techies.com\/sw\/java-strommar-for-nyborjare-en-introduktion-till-att-anvanda-strommar-i-java\/#Prenumerera_pa_vart_nyhetsbrev\" >Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>Java 8-str\u00f6mmar till\u00e5ter utvecklare att extrahera exakta data fr\u00e5n en stor samling med hj\u00e4lp av en upps\u00e4ttning f\u00f6rdefinierade operationer. F\u00f6re lanseringen av Java 8 skulle anv\u00e4ndningen av termen \u201cstr\u00f6m\u201d i Java automatiskt associeras med I\/O. Java 8 introducerade dock en str\u00f6m som kan h\u00e4nvisas till som en upps\u00e4ttning ber\u00e4kningssteg kedjade samman i vad som vanligtvis [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":91418,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[2756,15,35,17570,6155,45210,3781,25291],"class_list":["post-91417","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar","tag-anvanda","tag-att","tag-for","tag-introduktion","tag-java","tag-javastrommar","tag-nyborjare","tag-strommar"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/91417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=91417"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/91417\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/91418"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=91417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=91417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=91417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}