참조를 위해 Collection Tool Class CollectionUtil을 확장하십시오. 특정 내용은 다음과 같습니다
package com.demo.utils; import java.lang.reflect.method; import java.util.arraylist; import java.util.collection; import java.util.hashset; import java.util.iterator; import java.util.linkedhashmap; import java.util.list; java.util; java.util.map; import java.util.set; import org.slf4j.logger; import org.slf4j.loggerfactory; import com.demo.bean.employeeentity;/** * <p> 사용자 정의 컬렉션 도구 클래스 Expansion </p> @autho dong yangyang * @autho dong yangyang * @autho dong yangyang을위한 일반적인 방법 */public class collectionUtils는 org.apache.commons.collections.collectionUtils를 확장합니다. 개인 정적 최종 int default_size = 1000; /** * * <p> 고정 크기의 여러 세트로 분할 목록 </p> * <p> 권장 사용 </p> * <p> 세트의 크기가 작을수록,이 방법의 성능이 높을수록 </p> * @param baseList * @Param Size * @Autho Dong Yangyang * @Time 2017-4-10 11:30:30:30:30:30:30. @SuppressWarnings ( "확인되지 않은") 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; } int arrsize = baselist.size () % size == 0? Baselist.size () / size : baselist.size () / size + 1; 목록 <list <t >> resultList = new ArrayList <list <t >> (); for (int i = 0; i <arrsize; i ++) {if (arrsize -1 == i) {resultList.add ((List <T>) new ArrayList <BORVER> (BasElist.Sublist (i * size, baselist.size ())); } else {resultList.Add ((List <T>) new ArrayList <BORBERT> (BasElist.Sublist (i * size, size * (i + 1))); }} return resultList; }/** * * <p> 고정 크기의 여러 세트로 분할 목록 </p> * <p> 세트의 크기를 더 크게 반환 할 수 있습니다. 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 (결과); } resultList.get (i / size) .add (baseList.get (i)); } return resultList; }/**** <p> set </p>* @param col source collection* @param keytype 속성 유형* @param keymethodname 속성 get method* @return linkedhashset* @autho dong yangyang* @time 2017-4-10 11:31:50 am*/public static <k, v> set <k> acset (최종 Java.util. Coll, Final Class <k> keytype, 최종 문자열 keyethodname) {if (collectionUtils.isempty (coll)) {return new Hashset <k> (0); } 최종 세트 <k> set = new LinkedHashset <k> (coll.size ()); try {for (final v value : coll) {개체 객체; 메소드 메소드 = value.getClass (). getMethod (keyethodname); Object = method.invoke (값); @suppresswarnings ( "확인되지 않은") Final K key = (k) 객체; set.add (키); }} catch (예외 e) {logger.error (e.getMessage (), e); 새로운 CollectionUtilSexception ( "수집 변환 세트 예외"); } 반환 세트; }/** * * <p> 매핑 </p> * <p> </p> * <p> 예를 들면 : 예를 들어 : List <EmployEnentity>, Key로서의 이름 속성에 대해 이야기하고 맵으로 변환하고 map으로 변환 </p> * @param keytype 속성 유형 * @param valuetype 소스 데이터 유형 (entity type) * @param keythotho get method Yangyang * @time 2017-4-10 11:32:01 AM */ public static <k, v> map <k, v> asmap (Final java.util.collection <v> coll, 최종 클래스 <k> keytype, 최종 클래스 <v> valuetype, 최종 문자열 Keymethodname) {if (collectionutils.map <k) {collectionUtilsempty (collections.isempty)) {collectionUtilSempty (Collections.isempty) { v> (0); } 최종지도 <k, v> map = 새로운 LinkedHashmap <k, v> (coll.size ()); try {method method = valuetype.getMethod (keyethodname); for (final v value : coll) {개체 객체; Object = method.invoke (값); @suppresswarnings ( "확인되지 않은") Final K key = (k) 객체; map.put (키, 값); }} catch (예외 e) {logger.error (e.getMessage (), e); 새로운 CollectionUtilSexception ( "수집 변환 맵 예외")을 던지십시오. } 리턴 맵; }/** * * <p> 목록 </p> * @param coll * @return arraylist * @Autho Dong Yangyang * @Time 2017-4-10 11:32:56 AM */public static <v> list <v> aslist (최종 java.util.collection <v> coll) {if (colles {coll)). ArrayList <v> (0); } 최종 목록 <v> list = new ArrayList <V> (); for (final v value : coll) {if (value! = null) {list.add (value); }} 리턴 목록; }/** * <p> Collection <string> Tostring </p> * @Param Collection generic은 문자열 유형 * @Param 분할 "," * @return * @Autho Dong Yangyang * @Time 2017-4-10 3:22:24 PM */public static string coltostring (collection <string> collection) {stringbuilder split) {stringbuilder split) {stringbuilder split) 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 (); } 정적 클래스 CollectionUtilSexception 확장 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> (10000000); for (int i = 0; i <10000000; 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 ( "절단 완료 시간은 다음과 같습니다. Long CurrentTimeMillis3 = System.CurrentTimeMillis (); list <list <string>> newlist = fastsplitlist (BaseList, 1000); Long CurrentTimeMillis4 = System.CurrentTimeMillis (); System.out.println (newlist.size ()); System.out.println ( "빠른 절단 완료 시간은 다음과 같습니다. 목록 <Employeeentity> Employeelist = New ArrayList <EmployeEntity> (); for (int i = 1; i <11; i ++) {Employeeentity entity = new Employeeentity (); entity.setName ( "name"+string.valueof (i)); Employeelist.add (엔티티); } system.out.println (Employeelist.size ()); set <string> set = collectionUtils.asset (Employeelist, String.class, "getName"); for (문자열 이름 : set) {system.out.println (이름); } map <string, Employeeentity> map = collectionUtils.asmap (Employeelist, String.class, Employeeentity.class, "getName"); <string> keyset = map.keyset (); for (문자열 키 : Keyset) {System.out.println (키); System.out.println (map.get (key)); } list <Employeeentity> list = collectionUtils.asList (map.Values ()); for (Employeenity Employeeentity : list) {System.out.println (Employeeentity); }}}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.