Koleksi Apache Commons - Panduan Cepat

Koleksi Commons menambah Kerangka Koleksi Java. Ini menyediakan beberapa fitur untuk memudahkan penanganan koleksi. Ini menyediakan banyak antarmuka, implementasi, dan utilitas baru.

Fitur utama dari Koleksi Commons adalah sebagai berikut -

  • Bag - Antarmuka Bag menyederhanakan koleksi, yang memiliki beberapa salinan dari setiap objek.

  • BidiMap - Antarmuka BidiMap menyediakan peta Bi-Directional, yang dapat digunakan untuk mencari nilai menggunakan kunci atau kunci menggunakan nilai.

  • MapIterator - Antarmuka MapIterator menyediakan iterasi sederhana dan mudah di atas peta.

  • Transforming Decorators - Transformasi dekorator dapat mengubah setiap objek koleksi saat dan saat ditambahkan ke koleksi.

  • Composite Collections - Koleksi komposit digunakan, di mana beberapa koleksi harus ditangani secara seragam.

  • Ordered Map - Peta Berurutan mempertahankan urutan, di mana elemen ditambahkan.

  • Ordered Set - Set Berurutan mempertahankan urutan, di mana elemen ditambahkan.

  • Reference map - Peta referensi memungkinkan kunci / nilai menjadi sampah yang dikumpulkan di bawah kendali yang ketat.

  • Comparator implementations - Banyak implementasi Comparator tersedia.

  • Iterator implementations - Banyak implementasi Iterator tersedia.

  • Adapter Classes - Kelas adaptor tersedia untuk mengubah larik dan enumerasi menjadi koleksi.

  • Utilities- Utilitas tersedia untuk menguji atau membuat properti teori himpunan khas dari koleksi seperti union, intersection. Mendukung Penutupan.

Pengaturan Lingkungan Lokal

Jika Anda masih ingin mengatur lingkungan Anda untuk bahasa pemrograman Java, maka bagian ini memandu Anda tentang cara mengunduh dan mengatur Java di komputer Anda. Harap ikuti langkah-langkah yang disebutkan di bawah ini untuk menyiapkan lingkungan.

Java SE tersedia secara gratis dari tautan https://www.oracle.com/technetwork/java/archive-139210.html Jadi, Anda mengunduh versi berdasarkan sistem operasi Anda.

Ikuti petunjuk untuk mengunduh Java dan menjalankan .exe untuk menginstal Java di komputer Anda. Setelah Anda menginstal Java di komputer Anda, Anda perlu mengatur variabel lingkungan agar mengarah ke direktori instalasi yang benar.

Menyiapkan Path untuk Windows 2000 / XP

Kami berasumsi bahwa Anda telah menginstal Java di c:\Program Files\java\jdk directory

  • Klik kanan pada 'My Computer' dan pilih 'Properties'.

  • Klik tombol 'Variabel lingkungan' di bawah tab 'Lanjutan'.

  • Sekarang, ubah variabel 'Path' sehingga juga berisi path ke Java yang dapat dieksekusi. Contoh, jika jalur saat ini disetel ke'C:\WINDOWS\SYSTEM32', lalu ubah jalur Anda untuk membaca 'C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin'.

Menyiapkan Path untuk Windows 95/98 / ME

Kami berasumsi bahwa Anda telah menginstal Java di c:\Program Files\java\jdk directory.

  • Edit file 'C: \ autoexec.bat' dan tambahkan baris berikut di akhir - 'SET PATH=%PATH%;C:\Program Files\java\jdk\bin'

Menyiapkan Path untuk Linux, UNIX, Solaris, FreeBSD

Variabel lingkungan PATH harus disetel ke titik di mana, binari Java telah dipasang. Lihat dokumentasi shell Anda, jika Anda kesulitan melakukan ini.

Contoh, jika Anda menggunakan bash sebagai shell Anda, maka Anda akan menambahkan baris berikut ke akhir '.bashrc: export PATH=/path/to/java:$PATH'

Editor Java Populer

Untuk menulis program Java Anda, Anda memerlukan editor teks. Ada banyak IDE canggih yang tersedia di pasaran. Tetapi untuk saat ini, Anda dapat mempertimbangkan salah satu dari yang berikut -

  • Notepad - Pada mesin Windows, Anda dapat menggunakan editor teks sederhana seperti Notepad (Disarankan untuk tutorial ini), TextPad.

  • Netbeans - Ini adalah IDE Java yang open-source dan gratis, yang dapat diunduh dari https://netbeans.org.

  • Eclipse - Ini juga merupakan Java IDE yang dikembangkan oleh komunitas open-source eclipse dan dapat diunduh dari https://www.eclipse.org/.

Unduh Arsip Koleksi Umum

Unduh versi terbaru file jar Apache Common Collections dari commons-collections4-4.1-bin.zip. Pada saat menulis tutorial ini, kami telah mengunduhcommons-collections4-4.1-bin.zip dan menyalinnya ke C:\>Apache folder.

OS Nama arsip
Windows commons-collections4-4.1-bin.zip
Linux commons-collections4-4.1-bin.tar.gz
Mac commons-collections4-4.1-bin.tar.gz

Setel Apache Common Collections Environment

Mengatur APACHE_HOMEvariabel lingkungan untuk menunjuk ke lokasi direktori dasar tempat jar Apache disimpan di komputer Anda. Dengan asumsi, kami telah mengekstrak commons-collections4-4.1-bin.zip di folder Apache di berbagai Sistem Operasi sebagai berikut -

OS Nama arsip
Windows Setel variabel lingkungan APACHE_HOME ke C: \ Apache
Linux ekspor APACHE_HOME = / usr / local / Apache
Mac ekspor APACHE_HOME = / Library / Apache

Setel Variabel CLASSPATH

Mengatur CLASSPATHvariabel lingkungan untuk menunjuk ke lokasi jar Koleksi Umum. Dengan asumsi, Anda telah menyimpan commons-collections4-4.1-bin.zip di folder Apache di berbagai Sistem Operasi sebagai berikut -

OS Keluaran
Windows Setel variabel lingkungan CLASSPATH ke% CLASSPATH%;% APACHE_HOME% \ commons-collections4-4.1-bin.jar;.;
Linux ekspor CLASSPATH = $ CLASSPATH: $ APACHE_HOME / commons-collections4-4.1-bin.jar :.
Mac ekspor CLASSPATH = $ CLASSPATH: $ APACHE_HOME / commons-collections4-4.1-bin.jar :.

Antarmuka baru ditambahkan ke tas pendukung. A Bag menentukan koleksi yang menghitung berapa kali suatu objek muncul dalam koleksi. Misalnya, jika Tas berisi {a, a, b, c} maka getCount ("a") akan mengembalikan 2 sedangkan uniqueSet () mengembalikan nilai unik.

Deklarasi Antarmuka

Berikut adalah deklarasi untuk antarmuka org.apache.commons.collections4.Bag <E> -

public interface Bag<E>
   extends Collection<E>

Metode

Metode untuk inferensi tas adalah sebagai berikut -

Sr.No. Metode & Deskripsi
1

boolean add(E object)

(Violation) Menambahkan satu salinan dari objek tertentu ke Tas.

2

boolean add(E object, int nCopies)

Menambahkan salinan nCopies dari objek tertentu ke Bag.

3

boolean containsAll(Collection<?> coll)

(Violation) Mengembalikan nilai true jika tas berisi semua elemen dalam koleksi tertentu, dengan memperhatikan kardinalitas.

4

int getCount(Object object)

Mengembalikan jumlah kemunculan (kardinalitas) dari objek tertentu yang saat ini ada di dalam tas.

5

Iterator<E> iterator()

Mengembalikan Iterator atas seluruh set anggota, termasuk salinan karena kardinalitas.

6

boolean remove(Object object)

(Pelanggaran) Menghapus semua kejadian dari objek yang diberikan dari tas.

7

boolean remove(Object object, int nCopies)

Menghapus salinan nCopies dari objek tertentu dari Tas.

8

boolean removeAll(Collection<?> coll)

(Pelanggaran) Hapus semua elemen yang diwakili dalam koleksi tertentu, dengan menghormati kardinalitas.

9

boolean retainAll(Collection<?> coll)

(Pelanggaran) Singkirkan semua anggota tas yang tidak ada dalam koleksi yang diberikan, dengan menghormati kardinalitas.

10

int size()

Mengembalikan jumlah total item dalam tas di semua jenis.

11

Set<E> uniqueSet()

Mengembalikan satu Set elemen unik di Tas.

Metode yang Diwarisi

Antarmuka ini mewarisi metode dari antarmuka berikut -

  • java.util.Collection

Contoh Antarmuka Bag

Contoh BagTester.java adalah sebagai berikut -

import org.apache.commons.collections4.Bag;
import org.apache.commons.collections4.bag.HashBag;
public class BagTester {
   public static void main(String[] args) {
      Bag<String> bag = new HashBag<>();
      //add "a" two times to the bag.
      bag.add("a" , 2);
      //add "b" one time to the bag.
      bag.add("b");
      //add "c" one time to the bag.
      bag.add("c");
      //add "d" three times to the bag.
      bag.add("d",3
      //get the count of "d" present in bag.
      System.out.println("d is present " + bag.getCount("d") + " times.");
      System.out.println("bag: " +bag);
      //get the set of unique values from the bag
      System.out.println("Unique Set: " +bag.uniqueSet());
      //remove 2 occurrences of "d" from the bag
      bag.remove("d",2);
      System.out.println("2 occurences of d removed from bag: " +bag);
      System.out.println("d is present " + bag.getCount("d") + " times.");
      System.out.println("bag: " +bag);
      System.out.println("Unique Set: " +bag.uniqueSet());
   }
}

Keluaran

Anda akan melihat output berikut -

d is present 3 times.
bag: [2:a,1:b,1:c,3:d]
Unique Set: [a, b, c, d]
2 occurences of d removed from bag: [2:a,1:b,1:c,1:d]
d is present 1 times.
bag: [2:a,1:b,1:c,1:d]
Unique Set: [a, b, c, d]

Antarmuka baru ditambahkan untuk mendukung Peta dua arah. Menggunakan peta dua arah, kunci dapat dicari menggunakan nilai dan nilai dapat dicari menggunakan kunci dengan mudah.

Deklarasi Antarmuka

Berikut adalah deklarasi untuk org.apache.commons.collections4.BidiMap<K,V> antarmuka -

public interface BidiMap<K,V>
   extends IterableMap<K,V>

Metode

Metode untuk Antarmuka BidiMap adalah sebagai berikut -

Sr.No. Metode & Deskripsi
1

K getKey(Object value)

Mendapatkan kunci yang saat ini dipetakan ke nilai yang ditentukan.

2

BidiMap<V,K> inverseBidiMap()

Mendapat tampilan peta ini di mana kunci dan nilai dibalik.

3

V put(K key, V value)

Menempatkan pasangan nilai kunci ke dalam peta, menggantikan pasangan sebelumnya.

4

K removeValue(Object value)

Menghapus pasangan nilai kunci yang saat ini dipetakan ke nilai yang ditentukan (operasi opsional).

5

Set<V> values()

Mengembalikan tampilan Set dari nilai yang terdapat dalam peta ini.

Metode yang Diwarisi

Antarmuka ini mewarisi metode dari antarmuka berikut -

  • org.apache.commons.collections4.Get

  • org.apache.commons.collections4.IterableGet

  • org.apache.commons.collections4.Put

  • java.util.Map

Contoh Antarmuka BidiMap

Contoh BidiMapTester.java adalah sebagai berikut -

import org.apache.commons.collections4.BidiMap;
import org.apache.commons.collections4.bidimap.TreeBidiMap;
public class BidiMapTester {
   public static void main(String[] args) {
      BidiMap<String, String> bidi = new TreeBidiMap<>();
      bidi.put("One", "1");
      bidi.put("Two", "2");
      bidi.put("Three", "3");
      System.out.println(bidi.get("One"));
      System.out.println(bidi.getKey("1"));
      System.out.println("Original Map: " + bidi);
      bidi.removeValue("1");
      System.out.println("Modified Map: " + bidi);
      BidiMap<String, String> inversedMap = bidi.inverseBidiMap();
      System.out.println("Inversed Map: " + inversedMap);
   }
}

Keluaran

Saat Anda menjalankan kode, Anda akan melihat output berikut -

1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}

Antarmuka Peta JDK cukup sulit untuk diulang karena Iterasi dilakukan pada EntrySet atau melalui objek KeySet. MapIterator menyediakan iterasi sederhana di atas Map. Contoh berikut menggambarkan hal yang sama.

Contoh Antarmuka MapIterator

Contoh untuk MapIteratorTester.java adalah sebagai berikut -

import org.apache.commons.collections4.IterableMap;
import org.apache.commons.collections4.MapIterator;
import org.apache.commons.collections4.map.HashedMap;
public class MapIteratorTester {
   public static void main(String[] args) {
      IterableMap<String, String> map = new HashedMap<>();
      map.put("1", "One");
      map.put("2", "Two");
      map.put("3", "Three");
      map.put("4", "Four");
      map.put("5", "Five");
      MapIterator<String, String> iterator = map.mapIterator();
      while (iterator.hasNext()) {
         Object key = iterator.next();
         Object value = iterator.getValue();
         System.out.println("key: " + key);
         System.out.println("Value: " + value);
         iterator.setValue(value + "_");
      }
      System.out.println(map);
   }
}

Keluaran

Outputnya dinyatakan di bawah ini -

key: 3
Value: Three
key: 5
Value: Five
key: 2
Value: Two
key: 4
Value: Four
key: 1
Value: One
{3=Three_, 5=Five_, 2=Two_, 4=Four_, 1=One_}

OrderedMap adalah antarmuka baru untuk peta guna mempertahankan urutan penambahan elemen. LinkedMap dan ListOrderedMap adalah dua implementasi yang tersedia. Antarmuka ini mendukung iterator dari Map dan memungkinkan iterasi di kedua arah baik maju atau mundur dalam Peta. Contoh berikut menggambarkan hal yang sama.

Contoh Antarmuka MapIterator

Contoh OrderedMapTester.java seperti yang diberikan di bawah ini -

import org.apache.commons.collections4.OrderedMap;
import org.apache.commons.collections4.map.LinkedMap;
public class OrderedMapTester {
   public static void main(String[] args) {
      OrderedMap<String, String> map = new LinkedMap<String, String>();
      map.put("One", "1");
      map.put("Two", "2");
      map.put("Three", "3");
      System.out.println(map.firstKey());
      System.out.println(map.nextKey("One"));
      System.out.println(map.nextKey("Two"));
   }
}

Keluaran

Hasilnya adalah sebagai berikut -

One
Two
Three

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Periksa Not Null Elements

addIgnoreNull () metode CollectionUtils bisa digunakan untuk memastikan bahwa hanya nilai non-null yang ditambahkan ke koleksi.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.addIgnoreNull() metode -

public static <T> boolean addIgnoreNull(Collection<T> collection, T object)

Parameter

  • collection - Koleksi yang akan ditambahkan, tidak boleh kosong.

  • object - Objek yang akan ditambahkan, jika null maka tidak akan ditambahkan.

Nilai Kembali

Benar jika koleksinya berubah.

Pengecualian

  • NullPointerException - Jika koleksinya nol.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.addIgnoreNull()metode. Kami mencoba menambahkan nilai null dan sampel nilai bukan null.

import java.util.LinkedList;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> list = new LinkedList<String>();
      CollectionUtils.addIgnoreNull(list, null);
      CollectionUtils.addIgnoreNull(list, "a");
      System.out.println(list);
      if(list.contains(null)) {
         System.out.println("Null value is present");
      } else {
         System.out.println("Null value is not present");
      }
   }
}

Keluaran

Outputnya disebutkan di bawah ini -

[a]
Null value is not present

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Menggabungkan dua daftar yang diurutkan

collate () metode CollectionUtils bisa digunakan untuk menggabungkan dua daftar yang sudah diurutkan.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.collate() metode -

public static <O extends Comparable<? super O>> List<O>
   collate(Iterable<? extends O> a, Iterable<? extends O> b)

Parameter

  • a - Koleksi pertama, tidak boleh kosong.

  • b - Koleksi kedua, tidak boleh kosong.

Nilai Kembali

Daftar baru yang diurutkan, berisi elemen Koleksi a dan b.

Pengecualian

  • NullPointerException - Jika salah satu koleksi nol.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.collate()metode. Kami akan menggabungkan dua daftar yang diurutkan dan kemudian mencetak daftar yang digabungkan dan diurutkan.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> sortedList1 = Arrays.asList("A","C","E");
      List<String> sortedList2 = Arrays.asList("B","D","F");
      List<String> mergedList = CollectionUtils.collate(sortedList1, sortedList2);
      System.out.println(mergedList);
   }
}

Keluaran

Outputnya adalah sebagai berikut -

[A, B, C, D, E, F]

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Mengubah daftar

collect () metode CollectionUtils dapat digunakan untuk mengubah daftar satu jenis objek menjadi daftar jenis objek yang berbeda.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.collect() metode -

public static <I,O> Collection<O> collect(Iterable<I> inputCollection,
   Transformer<? super I,? extends O> transformer)

Parameter

  • inputCollection - Koleksi untuk mendapatkan masukan, tidak boleh nol.

  • Transformer - Trafo yang akan digunakan, mungkin nol.

Nilai Kembali

Hasil yang diubah (daftar baru).

Pengecualian

  • NullPointerException - Jika koleksi input nihil.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.collect()metode. Kami akan mengubah daftar string menjadi daftar integer dengan mengurai nilai integer dari String.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> stringList = Arrays.asList("1","2","3");
      List<Integer> integerList = (List<Integer>) CollectionUtils.collect(
         stringList, new Transformer<String, Integer>() {
         @Override
         public Integer transform(String input) {
            return Integer.parseInt(input);
         }
      });
      System.out.println(integerList);
   }
}

Keluaran

Saat Anda menggunakan kode, Anda akan mendapatkan kode berikut -

[1, 2, 3]

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

filter ()

filter () metode CollectionUtils dapat digunakan untuk memfilter daftar untuk menghapus objek yang tidak memenuhi kondisi yang diberikan oleh predikat yang diteruskan.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.filter() metode -

public static <T> boolean filter(Iterable<T> collection,
   Predicate<? super T> predicate)

Parameter

  • collection - Koleksi untuk mendapatkan masukan, tidak boleh nol.

  • predicate - Predikat untuk digunakan sebagai filter, boleh nihil.

Nilai Kembali

Benar jika koleksi diubah oleh panggilan ini, salah jika sebaliknya.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.filter()metode. Kami akan memfilter daftar integer untuk mendapatkan angka genap saja.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<Integer> integerList = new ArrayList<Integer>(); 
      integerList.addAll(Arrays.asList(1,2,3,4,5,6,7,8));
      System.out.println("Original List: " + integerList);
      CollectionUtils.filter(integerList, new Predicate<Integer>() {
         @Override
         public boolean evaluate(Integer input) {
            if(input.intValue() % 2 == 0) {
               return true;
            }
            return false;
         }
      });
      System.out.println("Filtered List (Even numbers): " + integerList);
   }
}

Keluaran

Ini akan menghasilkan hasil sebagai berikut -

Original List: [1, 2, 3, 4, 5, 6, 7, 8]
Filtered List (Even numbers): [2, 4, 6, 8]

filterInverse ()

filterInverse () metode CollectionUtils dapat digunakan untuk memfilter daftar untuk menghapus objek, yang memenuhi kondisi yang diberikan oleh predikat yang diteruskan.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.filterInverse() metode -

public static <T> boolean filterInverse(
   Iterable<T> collection, Predicate<? super T> predicate)

Parameter

  • collection - Koleksi untuk mendapatkan masukan, tidak boleh nol.

  • predicate - Predikat untuk digunakan sebagai filter, boleh nihil.

Nilai Kembali

Benar jika koleksi diubah oleh panggilan ini, salah jika sebaliknya.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.filterInverse()metode. Kami akan memfilter daftar bilangan bulat untuk mendapatkan angka ganjil saja.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<Integer> integerList = new ArrayList<Integer>(); 
      integerList.addAll(Arrays.asList(1,2,3,4,5,6,7,8));
      System.out.println("Original List: " + integerList); 
      CollectionUtils.filterInverse(integerList, new Predicate<Integer>() {
         @Override
         public boolean evaluate(Integer input) {
            if(input.intValue() % 2 == 0) {
               return true;
            }
            return false;
         }
      });
      System.out.println("Filtered List (Odd numbers): " + integerList);
   }
}

Keluaran

Hasilnya seperti yang dinyatakan di bawah ini -

Original List: [1, 2, 3, 4, 5, 6, 7, 8]
Filtered List (Odd numbers): [1, 3, 5, 7]

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Memeriksa daftar yang tidak kosong

Metode isNotEmpty () CollectionUtils dapat digunakan untuk memeriksa apakah daftar tidak kosong tanpa mengkhawatirkan daftar null. Jadi pemeriksaan nol tidak perlu ditempatkan di mana-mana sebelum memeriksa ukuran daftar.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.isNotEmpty() metode -

public static boolean isNotEmpty(Collection<?> coll)

Parameter

  • coll - Koleksi yang akan diperiksa, mungkin kosong.

Nilai Kembali

True jika bukan nol dan tidak kosong.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.isNotEmpty()metode. Kami akan memeriksa daftar kosong atau tidak.

import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> list = getList();
      System.out.println("Non-Empty List Check: " + checkNotEmpty1(list));
      System.out.println("Non-Empty List Check: " + checkNotEmpty1(list));
   }
   static List<String> getList() {
      return null;
   }
   static boolean checkNotEmpty1(List<String> list) {
      return !(list == null || list.isEmpty());
   }
   static boolean checkNotEmpty2(List<String> list) {
      return CollectionUtils.isNotEmpty(list);
   }
}

Keluaran

Outputnya diberikan di bawah ini -

Non-Empty List Check: false
Non-Empty List Check: false

Memeriksa daftar kosong

Metode isEmpty () dari CollectionUtils dapat digunakan untuk memeriksa apakah daftar kosong tanpa mengkhawatirkan daftar null. Jadi pemeriksaan nol tidak perlu ditempatkan di mana-mana sebelum memeriksa ukuran daftar.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.isEmpty() metode -

public static boolean isEmpty(Collection<?> coll)

Parameter

  • coll - Koleksi yang akan diperiksa, mungkin kosong.

Nilai Kembali

Benar jika kosong atau nol.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.isEmpty()metode. Kami akan memeriksa daftar kosong atau tidak.

import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> list = getList();
      System.out.println("Empty List Check: " + checkEmpty1(list));
      System.out.println("Empty List Check: " + checkEmpty1(list));
   }
   static List<String> getList() {
      return null;
   }
   static boolean checkEmpty1(List<String> list) {
      return (list == null || list.isEmpty());
   }
   static boolean checkEmpty2(List<String> list) {
      return CollectionUtils.isEmpty(list);
   }
}

Keluaran

Diberikan di bawah ini adalah output dari kode -

Empty List Check: true
Empty List Check: true

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Memeriksa sublist

Metode isSubCollection () dari CollectionUtils dapat digunakan untuk memeriksa apakah suatu koleksi berisi koleksi yang diberikan atau tidak.

Pernyataan

Berikut adalah deklarasi untuk

org.apache.commons.collections4.CollectionUtils.isSubCollection() metode -

public static boolean isSubCollection(
   Collection<?> a, Collection<?> b)

Parameter

  • a - Koleksi (sub) pertama, tidak boleh kosong.

  • b - Koleksi kedua (super), tidak boleh nol.

Nilai Kembali

Benar jika dan hanya jika a adalah subkumpulan dari b.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.isSubCollection()metode. Kami akan memeriksa daftar adalah bagian dari daftar lain atau tidak.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      //checking inclusion
      List<String> list1 = Arrays.asList("A","A","A","C","B","B");
      List<String> list2 = Arrays.asList("A","A","B","B");
      System.out.println("List 1: " + list1);
      System.out.println("List 2: " + list2);
      System.out.println("Is List 2 contained in List 1: " + 
         CollectionUtils.isSubCollection(list2, list1));
   }
}

Keluaran

Anda akan menerima output berikut -

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
Is List 2 contained in List 1: true

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Memeriksa persimpangan

intersection () metode CollectionUtils bisa digunakan untuk mendapatkan objek umum antara dua koleksi (intersection).

Pernyataan

Berikut adalah deklarasi untuk org.apache.commons.collections4.CollectionUtils.intersection() metode -

public static <O> Collection<O> intersection(Iterable<? extends O> a,
   Iterable<? extends O> b)

Parameter

  • a - Koleksi (sub) pertama, tidak boleh kosong.

  • b - Koleksi kedua (super), tidak boleh nol.

Nilai Kembali

Perpotongan dua koleksi.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.intersection()metode. Kami akan mendapatkan perpotongan dari dua daftar.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      //checking inclusion
      List<String> list1 = Arrays.asList("A","A","A","C","B","B");
      List<String> list2 = Arrays.asList("A","A","B","B");
      System.out.println("List 1: " + list1);
      System.out.println("List 2: " + list2);
      System.out.println("Commons Objects of List 1 and List 2: "
         + CollectionUtils.intersection(list1, list2));
   }
}

Keluaran

Saat Anda menjalankan kode, Anda akan melihat output berikut -

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
Commons Objects of List 1 and List 2: [A, A, B, B]

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Memeriksa Substraksi

subtract () metode CollectionUtils bisa digunakan untuk mendapatkan koleksi baru dengan mengurangkan objek dari satu koleksi dari yang lain.

Pernyataan

Berikut adalah deklarasi untuk org.apache.commons.collections4.CollectionUtils.subtract() metode -

public static <O> Collection<O> subtract(Iterable<? extends O> a,
   Iterable<? extends O> b)

Parameter

  • a - Koleksi yang akan dikurangi, tidak boleh nol.

  • b - Koleksi yang akan dikurangi, tidak boleh kosong.

Nilai Kembali

Koleksi baru dengan hasil.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.subtract()metode. Kami akan mendapatkan pengurangan dua daftar.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      //checking inclusion
      List<String> list1 = Arrays.asList("A","A","A","C","B","B");
      List<String> list2 = Arrays.asList("A","A","B","B");
      System.out.println("List 1: " + list1);
      System.out.println("List 2: " + list2);
      System.out.println("List 1 - List 2: " + CollectionUtils.subtract(list1, list2));
   }
}

Keluaran

Ketika Anda menjalankan kode di atas, Anda akan melihat output berikut -

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
List 1 - List 2: [A, C]

Kelas CollectionUtils dari pustaka Koleksi Apache Commons menyediakan berbagai metode utilitas untuk operasi umum yang mencakup berbagai kasus penggunaan. Ini membantu menghindari penulisan kode boilerplate. Library ini sangat berguna sebelum jdk 8 karena fungsi serupa sekarang tersedia di Stream API Java 8.

Memeriksa serikat pekerja

union () metode CollectionUtils bisa digunakan untuk mendapatkan gabungan dua koleksi.

Pernyataan

Berikut adalah deklarasi untuk org.apache.commons.collections4.CollectionUtils.union() metode -

public static <O> Collection<O> union(
   Iterable<? extends O> a, Iterable<? extends O> b)

Parameter

  • a - Koleksi pertama, tidak boleh kosong.

  • b - Koleksi kedua, tidak boleh kosong.

Nilai Kembali

Penyatuan dua koleksi.

Contoh

Contoh berikut menunjukkan penggunaan org.apache.commons.collections4.CollectionUtils.union()metode. Kami akan mendapatkan gabungan dari dua daftar.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      //checking inclusion
      List<String> list1 = Arrays.asList("A","A","A","C","B","B");
      List<String> list2 = Arrays.asList("A","A","B","B");
      System.out.println("List 1: " + list1);
      System.out.println("List 2: " + list2);
      System.out.println("Union of List 1 and List 2: "
         + CollectionUtils.union(list1, list2));
   }
}

Keluaran

Ini menghasilkan keluaran berikut -

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
Union of List 1 and List 2: [A, A, A, B, B, C]