Guava - Daftar

1. Ikhtisar

Dalam tutorial ini - kami akan mengilustrasikan cara paling umum dan berguna untuk bekerja dengan List menggunakan pustaka Guava .

Mari kita mulai dengan sederhana - dan lihat hanya membuat ArrayList baru menggunakan sintaks Guava - tanpa yang baru :

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

2. Membalikkan Daftar

Pertama, mari membalikkan List menggunakan Lists.reverse () seperti pada contoh berikut:

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

3. Hasilkan Daftar Karakter dari String

Sekarang - mari kita lihat cara memecah String menjadi daftar Karakter .

Dalam contoh berikut - kami menggunakan API Lists.CharactersOf () untuk membuat Daftar Karakter dari String "John" :

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

4. Partisi Daftar

Selanjutnya - Mari kita lihat cara mempartisi List .

Dalam contoh berikut - kami menggunakan Lists.partition () untuk mendapatkan sublist berurutan yang masing-masing berukuran dua:

@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. Hapus Duplikat Dari Daftar

Sekarang - mari gunakan trik sederhana untuk menghapus duplikat dari Daftar .

Dalam contoh berikut - kami menyalin elemen ke dalam Set dan kemudian kami membuat List kembali dari elemen yang tersisa:

@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. Hapus Nilai Null dari Daftar

Selanjutnya - mari kita lihat cara menghapus nilai null dari List .

Dalam contoh berikut - kami menghapus semua nilai null menggunakan API Iterables.removeIf () yang sangat berguna dan predikat yang disediakan oleh pustaka itu sendiri:

@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. Ubah List menjadi ImmutableList

Terakhir - mari kita lihat cara membuat salinan List yang tidak dapat diubah - ImmutableList - menggunakan 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. Kesimpulan

Dan inilah kami - tutorial singkat yang membahas sebagian besar hal berguna yang dapat Anda lakukan dengan List menggunakan Guava.

Untuk menggali Daftar lebih jauh, lihat panduan Predikat dan Fungsi untuk daftar serta panduan mendalam untuk Bergabung dan Memisahkan daftar di Jambu.

Penerapan semua contoh dan cuplikan kode ini dapat ditemukan di proyek github Guava saya - ini adalah proyek berbasis Eclipse, jadi semestinya mudah untuk mengimpor dan menjalankannya apa adanya.