Perluas Collection Tool Class Collection untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Paket com.demo.utils; impor java.lang.reflect.method; impor java.util.arraylist; impor java.util.collection; impor java.util.hashset; impor java.utilor; java.util.map; impor java.util.set; impor org.slf4j.logger; impor org.slf4j.loggerFactory; import com.demo.bean.employeeEntity;/** * * <p> Metode Umum Kustom Kustom Kustom Kustom </P> @Autho: 6Autho: 6AUTHO-LONG @AnG @AnG @AGION 67 */Kelas Publik Collectionutils memperluas org.apache.commons.collections.collectionutils {private static final Logger Logger = loggerFactory.getLogger (collectionutils.class); private static final int default_size = 1000; /** * * <p> Daftar terpisah ke beberapa set ukuran tetap </p> * <p> Penggunaan yang Disarankan </p> * <p> Kembalikan semakin kecil ukuran set, semakin tinggi kinerja metode ini </p> * @param baselist * @param size * @return arraylist * @Autho dong yangyang * @time 2017-10-4-10 @Rayurn AMURE.4:4: @SuppressWarnings ("Uncecked") Public Static <T> Daftar <Daftar <T>> FastSplitList (Daftar <T> Baselist, ukuran int) {if (Baselist == null || Baselist.Size () == 0) {return null; } if (size <= 0) {size = default_size; } int arrsize = Baselist.size () % size == 0? Baselist.size () / size: Baselist.size () / size + 1; Daftar <Daftar <T>> Hasil = Daftar ArrayList baru <Daftar <T>> (); untuk (int i = 0; i <arrsize; i ++) {if (arrsize - 1 == i) {resultList.add ((Daftar <T>) ArrayList baru <Pap Object> (Baselist.sublist (i * size, Baselist.size ())))); } else {resultList.Add ((Daftar <T>) ArrayList baru <Papen> (Baselist.sublist (i * size, size * (i + 1)))); }} return resultList; }/** * * <p> Daftar terpisah ke beberapa set ukuran tetap </p> * <p> Kembalikan semakin besar ukuran set, semakin tinggi kinerja metode ini </p> * @param Baselist * @param size * @Return ArrayList * @Autho Dong Yangyang * @Time 2017-4-10 11:30:43 @Autho Dong Yangyang * @Time 2017-4-10 11:30:43 Am Baselist, int ukuran) {if (baselist == null || baseList.size () == 0) {return null; } if (size <= 0) {size = default_size; } Daftar <Daftar <T>> Hasil = Daftar ArrayList baru <Daftar <T>> (); untuk (int i = 0; i <baselist.size (); ++ i) {if (i % size == 0) {Daftar <T> hasil = ArrayList baru <T> (); resultlist.add (hasil); } resultList.get (i / size) .add (Baselist.get (i)); } return resultList; }/**** <p> Set untuk mengatur </p>* @param col koleksi sumber* @param keytype atribut tipe* @param keymethodname Atribut dapatkan metode* @return linkedHashset* @autho dong Yangyang* @Time 2017-4-10 11:31:50 Am*/Public Static <K, V> @Time 2017-4-10 Kelas <k> keyType, string final keymethodname) {if (collectionutils.isempty (coll)) {return hashset baru <k> (0); } set akhir <k> set = new LinkedHashset <K> (coll.size ()); coba {untuk (nilai v final: coll) {objek objek; Metode metode = value.getClass (). GetMethod (keymethodname); objek = Method.invoke (nilai); @SuppressWarnings ("Uncecked") Final K key = (k) objek; set.add (key); }} catch (Exception e) {logger.error (e.getMessage (), e); melempar collectiontutilsException baru ("Pengecualian Konversi Konversi"); } return set; } /** * * <p>Collection to Map</p> * <p>For example: List<EmployeeEntity>, talk about the name attribute of EmployeeEntity as a key and convert it into Map</p> * @param coll Source collection* @param keyType Property type* @param valueType Source data type (entity type) * @param keyMethodName Property get method* @return LinkedHashMap * @autho Dong Yangyang * @Time 2017-4-10 11:32:01 AM */ public static <k, v> peta <k, v> asmap (final java.util.collection <v> coll, kelas akhir <k> keytype, collece <v> valueType, string final keymethodname) {if (collections, collechmply (colling) {if (collectermply (collechmply) {if (ifer V> (0); } peta akhir <k, v> peta = new LinkedHashMap <k, v> (coll.size ()); coba {metode metode = valueType.getMethod (keymethodname); untuk (nilai v final: coll) {objek objek; objek = Method.invoke (nilai); @SuppressWarnings ("Uncecked") Final K key = (k) objek; peta.put (tombol, nilai); }} catch (Exception e) {logger.error (e.getMessage (), e); melempar collectiontutilsException baru ("Pengecualian Peta Konversi Koleksi"); } return peta; }/** * * <p> Koleksi ke Daftar </p> * @param Coll * @return ArrayList * @autho Dong Yangyang * @Time 2017-4-10 11:32:56 AM */Public Static <V> Daftar <V> AsList (Final Java.util.collection <v> {if> collil)) {collile) {if> {if> {if> {if> {api) {coll) {IF/COLLOUCD. ArrayList <V> (0); } Daftar akhir <V> Daftar = ArrayList baru <V> (); untuk (nilai v final: coll) {if (value! = null) {list.add (value); }} daftar pengembalian; } /** * <p> Collection<String>toString</p> * @param collection The generic must be of String type* @param split For example, the connector "," * @return * @autho Dong Yangyang* @time 2017-4-10 3:22:24 pm */ public static String colToString(Collection<String> collection, String split) { StringBuilder sb = new StringBuilder (); if (collection! = null) {int i = 0, size = collection.size (); untuk (iterator <string> iterator = collection.iterator (); iterator.hasnext ();) {string str = iterator.next (); SB.Append (str); if (++ i <size) {sb.append (split); }}} return sb.toString (); } static class collectionutilsException memperluas runtimeException {private static final long serialversionuid = 1l; Public CollectionutilsException (String S) {super (s); } public CollectionutilsException (String S, Throwable e) {super (s, e); } public CollectionutilsException (Throwable e) {super (e); }} public static void main (string [] args) {list <string> baseList = new ArrayList <string> (1000000); untuk (int i = 0; i <1000000; i ++) {Baselist.add ("Data:"+"i"); } long currentTimeMillis1 = system.currentTimeMillis (); Daftar <Daftar <String>> SplitList = SplitList (Baselist, 1000); long currentTimeMillis2 = system.currentTimemillis (); System.out.println (splitList.size ()); System.out.println ("Waktu penyelesaian pemotongan adalah:"+string.valueof (currentTimeMillis2-CurrentTimeMillis1)+"ms"); long currentTimeMillis3 = system.currentTimemillis (); Daftar <Daftar <String>> NewList = FastSplitList (Baselist, 1000); long currentTimeMillis4 = system.currentTimemillis (); System.out.println (newList.size ()); System.out.println ("Waktu penyelesaian pemotongan cepat adalah:"+string.ValueOf (currentTimeMillis4-CurrentTimeMillis3)+"ms"); Daftar <eplomeneEntity> greeElist = new ArrayList <eplomeneEntity> (); untuk (int i = 1; i <11; i ++) {entitas karyawan = karyawan baru (); entity.setname ("name"+string.valueof (i)); karyawan.Add (entitas); } System.out.println (karyawan.size ()); Set <string> set = collectionils.asset (karyawan, string.class, "getName"); untuk (nama string: set) {System.out.println (name); } Peta <string, emplingeeEntity> peta = collectionutils.asmap (karyawan, string.class, emplingeeEntity.class, "getName"); Atur <string> keyset = map.keyset (); untuk (tombol string: keyset) {System.out.println (key); System.out.println (Map.get (key)); } Daftar <eployeeStity> list = collectionutils.aslist (map.values ()); untuk (karyawan karyawan: daftar) {System.out.println (karyawan); }}}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.