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]