Guava - Popisi
1. Pregled
U ovom uputstvu ilustrirat ćemo najčešće i najkorisnije načine za raditi s Popisima koristeći knjižnicu Guava.
Krenimo jednostavno - i pogledajte samo stvaranje novog ArrayListkoristeći sintaksu Guava - bez novi:
Imena popisa = Lists.newArrayList ("John", "Adam", "Jane");
2. Obrnuti a Popis
Prvo, krenimo obrnuti a Popis koristeći Lists.reverse () kao u sljedećem primjeru:
@Test public void whenReverseList_thenReversed () {Imena popisa = Lists.newArrayList ("John", "Adam", "Jane"); Obrnuti popis = Lists.reverse (imena); assertThat (obrnuto, sadrži ("Jane", "Adam", "John")); }
3. Generiraj LikPopis od Niz
Sada - da vidimo kako razdvojiti niz na popis Likovi.
U sljedećem primjeru - koristimo Liste.CharactersOf () API za stvaranje a LikPopis od Niz"Ivan":
@Test public void whenCreateCharacterListFromString_thenCreated () {Popis znakova = Lists.charactersOf ("John"); assertEquals (4, znakovi.size ()); assertThat (znakovi, sadrže ('J', 'o', 'h', 'n')); }
4. Pregrada a Popis
Dalje - Pogledajmo kako pregrada aPopis.
U sljedećem primjeru - koristimo Popisi.partition () da biste dobili uzastopne podspiske svake veličine dvije:
@Test public void whenPartitionList_thenPartitioned () {Imena popisa = Lists.newArrayList ("John", "Jane", "Adam", "Tom", "Viki", "Tyler"); Popis rezultat = Lists.partition (imena, 2); assertEquals (3, result.size ()); assertThat (result.get (0), sadrži ("John", "Jane")); assertThat (result.get (1), sadrži ("Adam", "Tom")); assertThat (result.get (2), sadrži ("Viki", "Tyler")); }
5. Uklonite duplikate iz Popis
A sada - poslužimo se jednostavnim trikom za uklanjanje duplikata iz a Popis.
U sljedećem primjeru - kopiramo elemente u Postavi a zatim stvorimo a Popis natrag iz preostalih elemenata:
@Test public void whenRemoveDuplicatesFromList_thenRemoved () {Popis znakova = Lists.newArrayList ('h', 'e', 'l', 'l', 'o'); assertEquals (5, znakovi.size ()); Rezultat popisa = ImmutableSet.copyOf (znakovi) .asList (); assertThat (rezultat, sadrži ('h', 'e', 'l', 'o')); }
6. Uklonite null vrijednosti iz Popis
Dalje - da vidimo kako ukloniti null vrijednosti iz a Popis.
U sljedećem primjeru - uklanjamo sve null vrijednosti koristeći vrlo korisne Iterables.removeIf () API i predikat koji osigurava sama knjižnica:
@Test public void whenRemoveNullFromList_thenRemoved () {Imena popisa = Lists.newArrayList ("John", null, "Adam", null, "Jane"); Iterables.removeIf (imena, predikati.isNull ()); assertEquals (3, names.size ()); assertThat (imena, sadrži ("John", "Adam", "Jane")); }
7. Pretvori a Popis do an Nepromjenjiva lista
Napokon - pogledajmo kako stvoriti nepromjenjivu kopiju Popis - an Nepromjenjiva lista - koristiti ImmutableList.copyOf () API:
@Test public void whenCreateImmutableList_thenCreated () {Imena popisa = Lists.newArrayList ("John", "Adam", "Jane"); names.add ("Tom"); assertEquals (4, names.size ()); ImmutableList immutable = ImmutableList.copyOf (imena); assertThat (nepromjenjivo, sadrži ("John", "Adam", "Jane", "Tom")); }
8. Zaključak
I tu smo - brzi vodič koji preispituje većinu korisnih stvari koje možete učiniti s Popisima pomoću Guave.
Da biste još više ušli u popise, pogledajte vodič za predikate i funkcije za popise, kao i detaljni vodič za Spajanje i dijeljenje popisa u Guavi.
Implementacija svih ovih primjera i isječaka koda možete pronaći u mom projektu gvaub-a Guava - ovo je projekt zasnovan na Eclipseu, pa bi ga trebalo lako uvesti i pokrenuti kakav jest.