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.