Guava - Elenchi

1. Panoramica

In questo tutorial, illustreremo i modi più comuni e utili per lavorare con gli elenchi utilizzando la libreria Guava .

Iniziamo in modo semplice e diamo un'occhiata alla creazione di un nuovo ArrayList utilizzando la sintassi Guava, senza nuovi :

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

2. Invertire un elenco

Innanzitutto, invertiamo una lista usando Lists.reverse () come nell'esempio seguente:

@Test public void whenReverseList_thenReversed() { List names = Lists.newArrayList("John", "Adam", "Jane"); List reversed = Lists.reverse(names); assertThat(reversed, contains("Jane", "Adam", "John")); }

3. Genera un elenco di caratteri da una stringa

Ora, vediamo come suddividere una stringa in un elenco di caratteri .

Nell'esempio seguente, utilizziamo l' API Lists.CharactersOf () per creare un elenco di caratteri da una stringa "John" :

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

4. Partizionare un elenco

Avanti - Vediamo come partizionare un elenco .

Nell'esempio seguente, utilizziamo Lists.partition () per ottenere sottoliste consecutive ciascuna di dimensione due:

@Test public void whenPartitionList_thenPartitioned(){ List names = Lists.newArrayList("John","Jane","Adam","Tom","Viki","Tyler"); List
    
      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. Rimuovi i duplicati dall'elenco

Ora, usiamo un semplice trucco per rimuovere i duplicati da un elenco .

Nell'esempio seguente, copiamo gli elementi in un Set e quindi creiamo un elenco dagli elementi rimanenti:

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

6. Valori Rimuovere Null da List

Successivamente, vediamo come rimuovere i valori null da un elenco .

Nell'esempio seguente, rimuoviamo tutti i valori null utilizzando l'utilissima API Iterables.removeIf () e un predicato fornito dalla libreria stessa:

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

7. Convertire un elenco a un ImmutableList

Infine, vediamo come creare una copia immutabile di un List - un ImmutableList - utilizzando l' API ImmutableList.copyOf () :

@Test public void whenCreateImmutableList_thenCreated() { List names = Lists.newArrayList("John", "Adam", "Jane"); names.add("Tom"); assertEquals(4, names.size()); ImmutableList immutable = ImmutableList.copyOf(names); assertThat(immutable, contains("John", "Adam", "Jane", "Tom")); }

8. Conclusione

Ed eccoci qui: un breve tutorial che illustra la maggior parte delle cose utili che puoi fare con gli elenchi utilizzando Guava.

Per approfondire ulteriormente gli elenchi, consulta la guida ai predicati e alle funzioni degli elenchi e la guida approfondita per unire e dividere gli elenchi in Guava.

L'implementazione di tutti questi esempi e frammenti di codice può essere trovata nel mio progetto GitHub Guava : questo è un progetto basato su Eclipse, quindi dovrebbe essere facile da importare ed eseguire così com'è.