Erweitern Sie die Sammlungs -Toolklassen -Sammelungsutils für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Paket com.demo.utils; import Java.lang.reflect.Method; Import Java.util.ArrayList; Import Java.util.Collection; Import Java.util.hashset; Import Java.util.Inator. java.util.map; import java.util.set; import org.slf4j.logger; import org.slf4j.loggerfactory; */öffentliche Klasse Collectionutils erweitert org.apache.commons.collections.collectionutils {private statische logger logger logger = loggerfactory.getLogger (CollectionUtils.class); private statische endgültige int default_size = 1000; /** * * <p>Split List to multiple sets of fixed size</p> * <p>Recommended use</p> * <p>Return the smaller the size of the set, the higher the performance of this method</p> * @param baseList * @param size * @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 Größe) {if (baselist == null || baselist.size () == 0) {return null; } if (Größe <= 0) {size = default_size; } int arrsize = baselist.size () % size == 0? Baselist.size () / Größe: Baselist.size () / Größe + 1; Liste <Liste <T >> resultList = new ArrayList <list <t >> (); für (int i = 0; i <arrSize; i ++) {if (arrSize - 1 == i) {resultlist.add ((Liste <T>) New ArrayList <Object> (Baselist.Sublist (i * Größe, Baselist.SIZE.SIZE ())); } else {resultlist.add ((list <t>) New ArrayList <Object> (Baselist.Sublist (i * Größe, Größe * (i + 1))); }} return Ergebnisliste; }/** * * <P> Aufgeteilte Liste in mehrere Sätze mit fester Größe </p> * <p> Die größere Größe des Satzes zurückgeben. Je höher die Leistung dieser Methode </p> * @param baselist * @param Größe * @Return ArrayList * @Autho Dong Yangyang * @time 2017-4-10 11:30:43 AM */Public-Static <T> List <ttime < @ @ @> public static <t> liste < @time-10 11:43: 43 am */public static <t> list <ttime < @ @ @> public static <t> liste < @ @ @ @ubl. Baselist, int Größe) {if (baselist == null || baselist.size () == 0) {return null; } if (Größe <= 0) {size = default_size; } List <list <t >> resultlist = new ArrayList <list <t >> (); für (int i = 0; i <baselist.size (); ++ i) {if (i % size == 0) {list <T> result = new ArrayList <T> (); resultList.add (Ergebnis); } resultList.get (i / Größe) .Add (Baselist.get (i)); } return Ergebnisliste; }/**** <p> Set auf </p>* @param col Source Collection* @param keytype attribut type* @param keymethodname Attribut Get Methode* @Return linkedHashset* @Autho dong yangyang* @time 2017-4-10 11:30 AM*/public static <k, v> set <K, v.k. Coll, endgültige Klasse <K> keytype, endgültiger String keymethodname) {if (collectionIns.isempty (coll)) {return New Hashset <k> (0); } Final Set <K> set = new linkedHashset <k> (coll.size ()); Versuchen Sie {für (endgültig V -Wert: Coll) {Objekt. Methodenmethode = value.getClass (). GetMethod (keymethodname); Object = method.invoke (Wert); @SuppressWarnings ("Deaktiviert") Final K Key = (k) Objekt; set.add (Schlüssel); }} catch (Ausnahme e) {logger.Error (e.getMessage (), e); Neue CollectionUtilsexception ("Collection Conversion Set -Ausnahmen"); } return set; }/** * * <p> Sammlung zu map </p> * <p> Zum Beispiel: List <PersonalEtity>, sprechen Sie über das Namensattribut von EmployeeEntity als Schlüssel und konvertieren Sie sie in MAP </p> * @param coll Source Collection * @param keytype property tytyp * @param -Quell -Quell -Datentyp (EntityMap -Typ @param keymethname @aThashaMaps @Aparam KeymethName. Yangyang * @time 2017-4-10 11:32:01 AM */ public static <k, v> map <k, v> asmap (endgültige java.util.collection <v> coll, endgültige Klasse <K> keytype, endgültige Klasse <V> wertetyp, endgültiger String Keymethodname) {if (Collectionutils (Collectionuts)) {collections (collections (collections)). V> (0); } Finale Map <K, v> map = new LinkedHashMap <k, v> (coll.size ()); try {method method = valuEType.getMethod (keymethodname); für (endgültiger Wert: Coll) {Objektobjekt; Object = method.invoke (Wert); @SuppressWarnings ("Deaktiviert") Final K Key = (k) Objekt; map.put (Schlüssel, Wert); }} catch (Ausnahme e) {logger.Error (e.getMessage (), e); Neue CollectionUtilsexception ("Collection Conversion Map -Ausnahmen") werfen; } Rückgabekarte; }/** * * <p> Sammlung zur Liste </p> * @param coll * @Return ArrayList * @Autho Dong Yangyang * @time 2017-4-10 11:32:56 AM */public static <V> list <V> aslist (endgültige java.util.collection <V> coll) {if (collections (collection) {ifs (collections (collection) (collection) {if (collections (collection) (collection) {if (collections (collections (collection } endgültige Liste <V> list = new ArrayList <V> (); für (endgültig V -Wert: coll) {if (value! = null) {list.add (value); }} Rückgabeliste; } /** * <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 (sammel! = null) {int i = 0, size = collection.size (); für (iterator <string> iterator = collection.iterator (); iterator.hasnext ();) {String str = iterator.next (); sb.Append (str); if (++ i <size) {sb.append (split); }}} return sb.toString (); } statische Klasse CollectionUtilsexception erweitert RunTimeException {private statische endgültige 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); für (int i = 0; i <1000000; i ++) {Baselist.Add ("Daten:"+"i"); } long CurrentTimemillis1 = System.currentTimemillis (); Liste <Liste <String >> SplitList = SplitList (Baselist, 1000); long CurrentTimillis2 = System.currentTimemillis (); System.out.println (Splitlist.size ()); System.out.println ("Die Abschlusszeit für Schnittabschlüsse ist:"+string.Valueof (CurrentImemillis2-CurrentTimemillis1)+"MS"); long CurrentTimemillis3 = System.currentTimemillis (); Liste <Liste <string >> newList = fastSplitList (Baselist, 1000); long CurrentTimemillis4 = System.currentTimemillis (); System.out.println (newList.size ()); System.out.println ("Schnelle Abschlusszeit ist:"+string.valueof (CurrentTimillis4-CurrentTimemillis3)+"MS"); LIST <SepledeEntity> popmenteelist = new ArrayList <PersonalEtity> (); für (int i = 1; i <11; i ++) {EmployeeEntity entity = new EmployeeEntity (); entity.setName ("name"+string.valueof (i)); popmenteelist.add (Entität); } System.out.println (popmenteelist.size ()); Set <String> set = CollectionUtils.Asset (postelist, string.class, "getName"); für (Zeichenfolge Name: set) {System.out.println (Name); } Map <String, EmployeeEntity> map = collectionUtils.asmap (popmenteelist, string.class, EmployeeEntity.class, "GetName"); Set <string> keyset = map.keyset (); für (String -Taste: Keyset) {System.out.println (Schlüssel); System.out.println (map.get (Schlüssel)); } List <SpeoreEtity> list = collectionUtils.aslist (map.values ()); für (EmployeeEntity EmployeeEntity: Liste) {System.out.println (MitarbeiterEntity); }}}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.