Guava - zoznamy

1. Prehľad

V tomto návode si ukážeme najbežnejšie a najužitočnejšie spôsoby, ako pracovať so Zoznammi pomocou knižnice Guava.

Začnime jednoducho - a pozrime sa na iba vytvorenie nového ArrayListpomocou syntaxe Guava - bez Nový:

Názvy zoznamu = Lists.newArrayList ("John", "Adam", "Jane");

2. Obrátiť a Zoznam

Najprv poďme obrátiť a Zoznam použitím Lists.reverse () ako v nasledujúcom príklade:

@Test public void whenReverseList_thenReversed () {List names = Lists.newArrayList ("John", "Adam", "Jane"); Zoznam obrátený = Lists.reverse (mená); assertThat (obrátené, obsahuje („Jane“, „Adam“, „John“)); }

3. Generujte PostavaZoznam od a String

Teraz - pozrime sa, ako rozdeliť reťazec na zoznam Postavy.

V nasledujúcom príklade - používame Lists.CharactersOf () API na vytvorenie a PostavaZoznam od a String„John“:

@Test public void whenCreateCharacterListFromString_thenCreated () {List chars = Lists.characterOf ("John"); assertEquals (4, chars.size ()); assertThat (znaky, obsahuje ('J', 'o', 'h', 'n')); }

4. Oddiel a Zoznam

Ďalej - Pozrime sa, ako na to oddiel aZoznam.

V nasledujúcom príklade - používame Zoznamy.podiel () aby ste získali po sebe nasledujúce podzoznamy každý s veľkosťou dva:

@Test public void whenPartitionList_thenPartitioned () {List names = Lists.newArrayList ("John", "Jane", "Adam", "Tom", "Viki", "Tyler"); Zoznam result = Lists.partition (names, 2); assertEquals (3, result.size ()); assertThat (result.get (0), contains ("John", "Jane")); assertThat (result.get (1), contains ("Adam", "Tom")); assertThat (result.get (2), contains ("Viki", "Tyler")); }

5. Odstráňte duplikáty z Zoznam

Teraz - poďme jednoduchým trikom odstrániť duplikáty z a Zoznam.

V nasledujúcom príklade - kopírujeme prvky do a Nastaviť a potom vytvoríme a Zoznam späť zo zvyšných prvkov:

@Test public void whenRemoveDuplicatesFromList_thenRemoved () {List chars = Lists.newArrayList ('h', 'e', ​​'l', 'l', 'o'); assertEquals (5, chars.size ()); Výsledok zoznamu = ImmutableSet.copyOf (chars) .asList (); assertThat (result, contains ('h', 'e', ​​'l', 'o')); }

6. Odstráňte nulové hodnoty z Zoznam

Ďalej - pozrime sa, ako na to odstrániť nulový hodnoty z a Zoznam.

V nasledujúcom príklade - odstránime všetky nulový hodnoty pomocou veľmi užitočné Iterables.removeIf () API a predikát poskytnutý samotnou knižnicou:

@Test public void whenRemoveNullFromList_thenRemoved () {List names = Lists.newArrayList ("John", null, "Adam", null, "Jane"); Iterables.removeIf (names, Predicates.isNull ()); assertEquals (3, names.size ()); assertThat (mená, obsahuje („John“, „Adam“, „Jane“)); }

7. Premeniť a Zoznam do an ImmutableList

Nakoniec - pozrime sa, ako vytvoriť nemennú kópiu súboru Zoznam - an ImmutableList - pomocou ImmutableList.copyOf () API:

@Test public void whenCreateImmutableList_thenCreated () {List names = Lists.newArrayList ("John", "Adam", "Jane"); names.add ("Tom"); assertEquals (4, names.size ()); ImmutableList immutable = ImmutableList.copyOf (názvy); assertThat (nemenné, obsahuje („John“, „Adam“, „Jane“, „Tom“)); }

8. Záver

A sme tu - rýchly tutoriál, ktorý sa zaoberá väčšinou užitočných vecí, ktoré môžete robiť so zoznamami pomocou Guavy.

Ak sa chcete pozrieť do zoznamov ešte ďalej, pozrite si príručku k predikátom a funkciám zoznamov, ako aj podrobného sprievodcu k zoznamom pripojení a rozdelenia na Guave.

Implementácia všetkých týchto príkladov a útržkov kódu nájdete v mojom projekte Guava github - toto je projekt založený na Eclipse, takže by malo byť ľahké ho importovať a spustiť tak, ako je.


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