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.