ขยายคอลเลกชันคลาสเครื่องมือคอลเลกชันสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
แพ็คเกจ com.demo.utils; นำเข้า java.lang.reflect.method; นำเข้า java.util.arraylist; นำเข้า java.util.collection; นำเข้า java.util.hashset; นำเข้า Java.util.iterator; java.util.map; นำเข้า java.util.set; นำเข้า org.slf4j.logger; นำเข้า org.slf4j.loggerfactory; นำเข้า com.demo.bean.employeeentity;/** * * <p> วิธีการทั่วไป */คลาสสาธารณะ CollectionUtils ขยาย org.apache.commons.collections.collectionUtils {logger logger สุดท้ายคงสุดท้าย = loggerFactory.getLogger (collectionutils.class); INT สุดท้ายคงที่ int default_size = 1000; /** * * <p> รายการแยกเป็นชุดขนาดคงที่ </p> * <p> การใช้งานที่แนะนำ </p> * <p> ส่งคืนขนาดเล็กลงของชุดที่เล็กลงยิ่งประสิทธิภาพของวิธีนี้สูงขึ้น </p> * @param baselist * @param 11:30: @ @suppresswarnings ("ไม่ได้ตรวจสอบ") สาธารณะคงที่ <t> รายการ <รายการ <t>> fastsplitlist (รายการ <t> baselist, ขนาด int) {ถ้า (baselist == null || baselist.size () == 0) {return null; } if (size <= 0) {size = default_size; } int arrsize = baselist.size () % size == 0? baselist.size () / ขนาด: baselist.size () / ขนาด + 1; รายการ <list <t>> resultList = new ArrayList <list <t>> (); สำหรับ (int i = 0; i <arrsize; i ++) {ถ้า (arrsize - 1 == i) {resultlist.add ((รายการ <t>) arraylist ใหม่ <Ojrop> (baselist.sublist (i * size, baselist.size ()))); } else {resultList.add ((รายการ <t>) arrayList ใหม่ <Object> (baselist.sublist (i * ขนาด, ขนาด * (i + 1)))); }} ส่งคืนผลลัพธ์; }/** * * <p> รายการแยกเป็นชุดขนาดคงที่หลายชุด </p> * <p> ส่งคืนขนาดที่ใหญ่ขึ้นของชุดที่ใหญ่ขึ้นประสิทธิภาพของวิธีนี้ที่สูงขึ้น </p> * @param baselist * @param ขนาด * @return arraylist * @autho dong yangyang * @time 2017-4-10 11:30 baselist ขนาด int) {ถ้า (baselist == null || baselist.size () == 0) {return null; } if (size <= 0) {size = default_size; } list <list <t>> resultList = new ArrayList <list <t> (); สำหรับ (int i = 0; i <baselist.size (); ++ i) {ถ้า (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 คอลเลกชันแหล่งที่มา* @param keytype ประเภทแอตทริบิวต์* @param keymethodname แอตทริบิวต์ Get Method* @return linkedhashset* @autho dong Yangyang* @time 2017-4-10 11:31:50 am* coll, คลาสสุดท้าย <k> keyType, สตริงสุดท้าย keymethodname) {ถ้า (collectionutils.isempty (coll)) {ส่งคืน hashset ใหม่ <k> (0); } ชุดสุดท้าย <k> set = new LinkedHashSet <k> (coll.size ()); ลอง {สำหรับ (ค่า V สุดท้าย: coll) {วัตถุวัตถุ; วิธีการ = value.getClass (). getMethod (keymethodname); Object = method.invoke (ค่า); @suppresswarnings ("ไม่ได้ตรวจสอบ") key k key = (k) วัตถุ; set.add (คีย์); }} catch (exception e) {logger.error (e.getMessage (), e); โยน collectionutilsexception ใหม่ ("ข้อยกเว้นชุดการแปลงคอลเลกชัน"); } return set; }/** * * <p> คอลเลกชันเพื่อทำแผนที่ </p> * <p> ตัวอย่างเช่น: รายการ <premaleeentity> พูดคุยเกี่ยวกับแอตทริบิวต์ชื่อของ Employeeentity เป็นคีย์และแปลงเป็นแผนที่ </p> * @param คอลเลกชันคอลเลกชัน colling * @param KeyType Property * @param @autho Dong Yangyang * @time 2017-4-10 11:32:01 am */ สาธารณะคงที่ <k, v> แผนที่ <k, v> asmap (สุดท้าย java.util.collection <v> coll, คลาสสุดท้าย <k> keype, คลาสสุดท้าย <v> valuetype, keymethodname LinkedHashMap <K, V> (0); } แผนที่สุดท้าย <k, v> map = ใหม่ linkedhashmap <k, v> (coll.size ()); ลอง {method method = valuetype.getMethod (keymethodname); สำหรับ (ค่า V สุดท้าย: coll) {วัตถุวัตถุ; Object = method.invoke (ค่า); @suppresswarnings ("ไม่ได้ตรวจสอบ") key k key = (k) วัตถุ; map.put (คีย์, ค่า); }} catch (exception e) {logger.error (e.getMessage (), e); โยน collectionutilsexception ใหม่ ("ข้อยกเว้นแผนที่การแปลงคอลเลกชัน"); } กลับแผนที่; }/** * * <p> คอลเลกชันเพื่อแสดงรายการ </p> * @param coll * @return arraylist * @autho dong Yangyang * @time 2017-4-10 11:32:56 am */สาธารณะคงที่ <v> รายการ <v> aslist ArrayList <v> (0); } รายการสุดท้าย <v> list = new ArrayList <v> (); สำหรับ (ค่า V สุดท้าย: coll) {ถ้า (value! = null) {list.add (ค่า); }} รายการส่งคืน; }/** * <p> คอลเลกชัน <String> ToString </p> * @Param Collection ทั่วไปจะต้องเป็นประเภทสตริง * @param แยกตัวอย่างเช่นตัวเชื่อมต่อ "," * @return * @autho Dong Yangyang * @time 2017-4-10 3:22:24 PM * StringBuilder (); if (คอลเลกชัน! = null) {int i = 0, size = collection.size (); สำหรับ (iterator <string> iterator = collection.iterator (); iterator.hasnext ();) {string str = iterator.next (); SB.Append (STR); if (++ i <size) {sb.append (แยก); }}} ส่งคืน sb.toString (); } collection collectiontilsexception แบบคงที่ขยาย runtimeException {ส่วนตัวคงที่สุดท้าย long serialversionuid = 1l; collectionalexception สาธารณะ (String s) {super (s); } CollectionUtilSexception (String S, throwable e) {super (s, e); } Collectionutilsexception (throwable e) {super (e); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {รายการ <string> baselist = new ArrayList <String> (10,00000); สำหรับ (int i = 0; i <1000000; i ++) {baselist.add ("ข้อมูล:"+"i"); } long currenttimemillis1 = system.currenttimeMillis (); รายการ <list <String>> splitlist = splitlist (baselist, 1000); Long CurftStimeMillis2 = System.currentTimeMillis (); System.out.println (Splitlist.size ()); System.out.println ("เวลาการตัดเสร็จสมบูรณ์คือ:"+string.valueof (currenttimeMillis2-currentTimeMillis1)+"MS"); Long CurftStimeMillis3 = System.currentTimeMillis (); รายการ <list <String>> newList = fastsPlitList (Baselist, 1000); Long CurftStimeMillis4 = System.currentTimeMillis (); System.out.println (newlist.size ()); System.out.println ("เวลาการตัดเสร็จเร็วคือ:"+string.valueof (currentTimeMillis4-currentTimeMillis3)+"MS"); รายการ <SpopouneEntity> Employeelist = new ArrayList <EmberEEntity> (); สำหรับ (int i = 1; i <11; i ++) {entity entereeentity = new EmpereEentity (); entity.setName ("ชื่อ"+string.valueof (i)); Employeelist.add (เอนทิตี); } system.out.println (Employeelist.size ()); SET <String> set = collectionUTILS.ASSET (EmployeList, String.class, "getName"); สำหรับ (ชื่อสตริง: set) {system.out.println (ชื่อ); } แผนที่ <String, EmployeeEntity> MAP = CollectedUtils.asmap (Employeelist, String.class, EmputioneeEntity.class, "getName"); ตั้งค่า <string> keyset = map.keyset (); สำหรับ (คีย์สตริง: ปุ่ม) {system.out.println (คีย์); System.out.println (map.get (key)); } list <prementeeentity> list = collectedUtils.aslist (map.values ()); สำหรับ (EmprogeEntity EmprogeEentity: list) {System.out.println (EmployeeEntity); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น