Développez la collection Collection Collection Utitils pour votre référence. Le contenu spécifique est le suivant
package com.demo.utils; import java.lang.reflect.method; import java.util.arraylist; import java.util.collection; import java.util.hashset; import java.util.itreator; import java.util.linkedhashmap; import java.util.list; import java. java.util.map; import java.util.set; import org.slf4j.logger; import org.slf4j.loggerfactory; import com.demo.bean.employeeentity; / ** * * <p> Méthodes communes pour la classe d'outils de collecte personnalisée </p> * @Auto Dong Yangyang * @time 2017-4-1110:33:36 * / public Class CollectionUtils étend org.apache.commons.collections.collectionutils {private static final logger = loggerfactory.getLogger (collectionUtils.class); private static final int default_size = 1000; / ** * * <p> Réparavant la liste à plusieurs ensembles de taille fixe </p> * <p> Utilisation recommandée </p> * <p> Renvoie plus la taille de l'ensemble, plus les performances de cette méthode </p> * @param basélist * @param taille * @return ArrayList * @Autho Dong Yangyang * @time 2017-4-10 11:30:43 Am * / @SuppressWarnings ("Unchecked") public static <T> list <list <T>> FastSplitList (list <T> Baselist, int size) {if (baselist == null || baselist.size () == 0) {return null; } if (size <= 0) {size = default_size; } intRrsize = Baselist.size ()% size == 0? BâleList.size () / Size: Baselist.size () / Size + 1; List <list <t>> resultList = new ArrayList <list <t>> (); pour (int i = 0; i <ArrSize; i ++) {if (arrsize - 1 == i) {resultList.add ((list <t>) new ArrayList <Bject> (Baselist.Sublist (i * size, baselist.size ()))); } else {resultList.add ((list <T>) Nouveau ArrayList <Bject> (Baselist.Sublist (i * Size, Size * (i + 1)))); }} return resultList; } / ** * * <p> Réparavant la liste à plusieurs ensembles de taille fixe </p> * <p> Renvoyez plus la taille de l'ensemble, plus les performances de cette méthode </p> * @param baselist * @param taille * @return ArrayList * @Autho Dong Yangyang * BASELIST, int size) {if (baselist == null || baselist.size () == 0) {return null; } if (size <= 0) {size = default_size; } List <list <t>> resultList = new ArrayList <list <t>> (); for (int i = 0; i <baselist.size (); ++ i) {if (i% size == 0) {list <t> result = new ArrayList <T> (); resultList.add (résultat); } resultList.get (i / size) .add (Baselist.get (i)); } return resultList; } / ** * * <p> Set to Set </ P> * @Param Col Source Collection * @Param KeyType Attribute Type * @Param KeyMethodName Method * @return LinkedHashSet * @Autho Dong Yangyang * @time 2017-4-10 11:31:50 AM * / public static <k, v> Set <K> Asset (final Java.Ul.Ulofle <k, set <K> Asset (final Java.Util. coll, classe finale <K> keyType, chaîne finale keyMethodName) {if (CollectionUtils.Isempty (coll)) {return new hashset <k> (0); } final set <K> set = new LinkedHashSet <K> (coll.size ()); try {for (final V valeur: coll) {objet objet; Méthode méthode = value.getClass (). GetMethod (keyMetodName); objet = méthode.invoke (valeur); @SuppressWarnings ("non coché") Final k key = (k) objet; set.add (clé); }} catch (exception e) {logger.error (e.getMessage (), e); lancer une nouvelle collectionUtilSException ("Collection Conversion Set Exceptions"); } return set; } / ** * * <p> Collection sur map </p> * <p> par exemple: Liste <employeeEentity>, parlez de l'attribut de nom de l'employeeEntity en tant que clé et du type de propriété * @param valluetype Source Type (Type en entité) * @param keymethodname Property get promess itoft Dong Yangyang * @time 2017-4-10 11:32:01 AM * / public static <k, v> map <k, v> asmap (final java.util.collection <v> coll, classe finale <K> keytype, classe finale <v> valluetype, string final keymethodname) {if (CollectionS.isempty (coll)) {return likedhmap <K, V> (0); } Map final <k, v> map = new LinkedHashmap <k, v> (coll.size ()); try {Method method = valueType.getMethod (keyMetodName); for (final V valeur: coll) {objet objet; objet = méthode.invoke (valeur); @SuppressWarnings ("non coché") Final k key = (k) objet; map.put (clé, valeur); }} catch (exception e) {logger.error (e.getMessage (), e); lancer une nouvelle collectionUtilSException ("Collection Conversion Map Exceptions"); } retour de la carte; } / ** * * <p> Collection à liste </p> * @param coll * @return arrayList * @autho dong yangyang * @time 2017-4-10 11:32:56 AM * / public static <v> list <v> aslist (final java.util.collection <v> Coll) {if (CollectionS.Isempty (Coll)) {newrest <v> 0); } final list <v> list = new ArrayList <v> (); for (final V valeur: coll) {if (valeur! = null) {list.add (valeur); }} Retour List; } / ** * <p> Collection <string> toString </p> * @param Collection Le générique doit être de type de chaîne * @param divisé par exemple, le connecteur "," * @return * @autho dong yangyang * @time 2017-4-10 3:22:24 pm * / public static string Coltostring (Collection <String> Collection, STRING SPIST) {StringBuider SB = StringBuilder (); if (collection! = null) {int i = 0, size = collection.size (); for (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 étend 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); pour (int i = 0; i <1000000; i ++) {Baselist.add ("Data:" + "i"); } Long CurrentTimeMillis1 = System.CurrentTimeMillis (); List <list <string>> splitlist = splitlist (Baselist, 1000); Long CurrentTimeMillis2 = System.CurrentTimeMillis (); System.out.println (SplitList.Size ()); System.out.println ("Le délai d'achèvement de coupe est:" + String.ValueOf (CurrentTimeMillis2-CurrenttimeMillis1) + "MS"); Long CurrentTimeMillis3 = System.CurrentTimeMillis (); List <list <string>> newList = FastSplitList (Baselist, 1000); Long CurrentTimeMillis4 = System.CurrentTimemillis (); System.out.println (newList.size ()); System.out.println ("Le temps de complétion rapide est:" + String.ValueOf (CurrentTimeMillis4-Currenttimemillis3) + "MS"); Liste <EmployeeEntity> EmployElist = new ArrayList <LesyeeNtity> (); for (int i = 1; i <11; i ++) {EmployeeEntity Entity = new EmployeeEnttity (); entity.setName ("name" + string.valueof (i)); Employeelist.add (entité); } System.out.println (EmployEeeList.size ()); Set <string> set = CollectionUtils.asset (EmployeeList, String.class, "getName"); for (String name: set) {System.out.println (name); } Map <string, employeeEntity> map = collectionUtils.asmap (Employeelist, String.class, Employeeentity.class, "getName"); Set <string> keySet = map.KeySet (); for (String key: keyset) {System.out.println (key); System.out.println (map.get (key)); } List <employeeEentity> list = collectionUtils.aslist (map.values ()); pour (EmployeeEntity EmployeeEntity: list) {System.out.println (EmployeeEntity); }}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.