Guava - listák

1. Áttekintés

Ebben az oktatóanyagban bemutatjuk a leggyakoribb és leghasznosabb módszereket dolgozzon a Listákkal a Guava könyvtár segítségével.

Kezdjük egyszerűen - és nézzük csak meg új létrehozása Tömb listaguava szintaxist használva - anélkül új:

Listanevek = Lists.newArrayList ("John", "Adam", "Jane");

2. Fordított a Lista

Először nézzük fordított a Lista felhasználásával Lists.reverse () mint a következő példában:

@Test public void whenReverseList_thenReversed () {Lista neve = Lists.newArrayList ("John", "Adam", "Jane"); Lista megfordítva = Lists.reverse (nevek); assertThat (fordítva, tartalmazza ("Jane", "Adam", "John")); }

3. Generál karakterLista a-tól Húr

Most - nézzük meg, hogyan lehet szétválasztani a húrokat egy listára Karakterek.

A következő példában - a Lists.CharactersOf () API a. Létrehozásához karakterLista a-tól Húr"János":

@Test public void whenCreateCharacterListFromString_thenCreated () {List chars = Lists.charactersOf ("John"); assertEquals (4, karakterek.méret ()); assertThat (karakterek, tartalmaz ('J', 'o', 'h', 'n')); }

4. Partíció a Lista

Következő - Lássuk, hogyan kell partíció aLista.

A következő példában - használjuk Lists.partition () egymás utáni allisták készítéséhez, amelyek mindegyike a két méretből áll:

@Test public void whenPartitionList_thenPartitioned () {List list = Lists.newArrayList ("John", "Jane", "Adam", "Tom", "Viki", "Tyler"); Lista eredmény = Lists.partition (nevek, 2); assertEquals (3, eredmény.méret ()); assertThat (result.get (0), tartalmazza ("John", "Jane")); assertThat (result.get (1), tartalmazza ("Adam", "Tom")); assertThat (result.get (2), tartalmazza ("Viki", "Tyler")); }

5. Távolítsa el a duplikátumokat innen Lista

Most - használjunk egy egyszerű trükköt a másolatok eltávolítására a Lista.

A következő példában - másoljuk az elemeket a Készlet majd létrehozunk egy Lista vissza a többi elemből:

@Test public void whenRemoveDuplicatesFromList_thenRemoved () {List chars = Lists.newArrayList ('h', 'e', ​​'l', 'l', 'o'); assertEquals (5, karakterek.méret ()); Lista eredménye = ImmutableSet.copyOf (karakterek) .asList (); assertThat (eredmény, tartalmazza ('h', 'e', ​​'l', 'o')); }

6. Távolítsa el a Null Values ​​értéket Lista

Következő - nézzük meg, hogyan kell eltávolítani nulla értékek a-ból Lista.

A következő példában - eltávolítunk mindent nulla értékek felhasználásával a nagyon hasznos Iterables.removeIf () API és a könyvtár által biztosított predikátum:

@Test public void whenRemoveNullFromList_thenRemoved () {List list = Lists.newArrayList ("John", null, "Adam", null, "Jane"); Iterables.removeIf (nevek, predikátumok.isNull ()); assertEquals (3, nevek.méret ()); assertThat (megnevezi, tartalmazza ("John", "Adam", "Jane")); }

7. Átalakítás a Lista egy ImmutableList

Végül - nézzük meg, hogyan készíthetünk a Lista - egy ImmutableList - használni a ImmutableList.copyOf () API:

@Test public void whenCreateImmutableList_thenCreated () {List names = Lists.newArrayList ("John", "Adam", "Jane"); nevek.add ("Tom"); assertEquals (4, nevek.méret ()); ImmutableList immutable = ImmutableList.copyOf (nevek); assertThat (megváltoztathatatlan, tartalmazza ("John", "Adam", "Jane", "Tom"); }

8. Következtetés

És itt vagyunk - egy gyors bemutató, amely áttekinti a legtöbb hasznos dolgot, amelyet a Guava használatával végezhet a listákkal.

Ha még jobban bele akarsz mélyedni a listákba, nézd meg a listák predikátumai és funkciói útmutatót, valamint a guávai listákhoz való csatlakozás és felosztás részletes útmutatóját.

Mindezen példák és kódrészletek megvalósítása megtalálható a guava github projektemben - ez egy Eclipse alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.