Java IntStream konverziók

1. Bemutatkozás

Ebben a gyors bemutatóban át fogunk menni az összes lehetőség IntStream konverziók más típusokra.

Érdekes olvasmányok a bokszolásról, a kibontásról vagy az iterációról ajánlottak ennek az oktatóanyagnak a kiegészítéseként.

2. IntStream nak nek Sor

Kezdjük feltárni, hogyan tudunk konvertálni egy an IntStream objektum egy tömbje ints.

E példa kedvéért generáljuk az első 50 páros számot, és ennek eredményeként tároljuk őket egy tömbben:

@Test public void intStreamToArray () {int [] first50EvenNumbers = IntStream.iterate (0, i -> i + 2) .limit (50) .toArray (); assertThat (first50EvenNumbers) .hasSize (50); assertThat (first50EvenNumbers [2]). isEqualTo (4); }

Először hozzunk létre egy végtelen egész számot 0-tól kezdődően és iterálva úgy, hogy minden elemhez 2-t adunk. Közvetlenül ezután hozzá kell adnunk egy köztes műveletet határ annak érdekében, hogy ezt a műveletet valahogyan megszüntessék.

Végül használjuk a befejező műveletet gyűjt hogy ezt összegyűjtse Folyam tömbhöz.

Ez egy egyszerű módszer a tömb generálásához ints.

3. IntStream nak nek Lista

Térjünk át most an IntStream a Lista nak,-nek Egész számok.

Ebben az esetben csak azért, hogy még több változatosságot adjunk a példához, használjuk a módszert hatótávolság a módszer helyett hajtogat. Ez a módszer létrehoz egy IntStream tól int 0 a int 50 (nem tartozék, mivel nyitott tartomány):

@Test public void intStreamToList () {List first50IntegerNumbers = IntStream.range (0, 50) .boxed () .collect (Collectors.toList ()); assertThat (first50IntegerNumbers) .hasSize (50); assertThat (first50IntegerNumbers.get (2)). isEqualTo (2); }

Ebben a példában a módszert alkalmazzuk hatótávolság. A leghírhedtebb rész itt a használata a módszer, a metódus dobozos, amely, amint a neve is rámutat, bejelöli az összes int elemei a IntStream és visszatér a Folyam.

Végül egy gyűjtőt használhatunk a listák megszerzéséhez egész száms.

4. IntStream nak nek Húr

Utolsó témánkban vizsgáljuk meg, hogyan juthatnánk hozzá a Húr egy an IntStream.

Ebben az esetben csak az első 3-at fogjuk előállítani ints (0, 1 és 2):

@Test public void intStreamToString () {String first3numbers = IntStream.of (0, 1, 2) .mapToObj (String :: valueOf) .collect (Collectors.joining (",", "[", "]")); assertThat (first3numbers) .isEqualTo ("[0, 1, 2]"); }

Először ebben az esetben szerkesztünk egy IntStream a kivitelezővel IntStream.of (). Miután megvan a Folyam, valahogy meg kell generál a Folyam egy an IntStream. Ezért mi használhatja a köztiterméket mapToObj módszer ehhez szükség lesz egy IntStream és visszatér a Folyam nevű módszerrel leképezett kapott objektum típusának.

Végül használjuk a gyűjtőt csatlakozás hogy a Folyam és hozzáfűzheti a Folyam elválasztó, és adott esetben előtag és utótag használatával.

5. Következtetések

Ebben a gyors bemutatóban megvizsgáltuk az összes alternatívát, amikor egy IntStream bármely más típushoz. Különösen példákat éltünk át, mint egy tömb létrehozása, a Lista, és a Húr.

És mint mindig, a mintakód elérhető a GitHubon.


$config[zx-auto] not found$config[zx-overlay] not found