โดยไม่ต้องกังวลใจเพิ่มเติมเพียงแค่ดูรหัสตัวอย่าง
แพ็คเกจ cn.lion.test; Provere PerformAncetest {Privatestatic Final Int ขนาด = 100000; PublicStatic Abstract Class Test {Privatestring Operation; Publictest (การดำเนินการสตริง) {this.operation = การดำเนินการ; } การทดสอบโมฆะ publicabstract (รายการ <string> รายการ); PublicString GetOperation () {return; }} // คลาสที่ไม่ระบุชื่อที่ดำเนินการซ้ำการดำเนินการ iteratetest = การทดสอบใหม่ ("iterate") {การทดสอบ publicvoid (รายการ <String> รายการ) {สำหรับ (inti = 0; i <10; ในขณะที่ (it.hasnext ()) {it.next (); - // เรียกใช้การเข้าถึงแบบสุ่มคลาส statictest statictest getTest = การทดสอบใหม่ ("get") {publicvoid test (รายการ <String> รายการ) {สำหรับ (inti = 0; i <list.size (); i ++) {สำหรับ (intk = 0; k <10; k ++) {list.get (k); - // ดำเนินการแทรก InsertTest INSERTTEST = การทดสอบใหม่ ("Insert") {PublicVoid Test (รายการ <String> รายการ) {listiterator <String> it = list.listiterator (list.size ()/2); สำหรับ (inti = 0; i <size; i ++) {it.add ("Lion"); - // เรียกใช้งาน remoVetest remoVetest = ใหม่ที่ถูกลบตัวที่ถูกลบ = การทดสอบใหม่ ("ลบ") {publicVoid Test (รายการ <String> รายการ) {listIterator <String> it = list.listiterator (); ในขณะที่ (it.hasnext ()) {it.next (); it.remove (); - staticPublic เป็นโมฆะ testArray (รายการ <String> รายการ) {ทดสอบ [] tests = {iteratetest, getTest}; การทดสอบ (ทดสอบรายการ); } staticPublic เป็นโมฆะ testList (รายการ <String> รายการ) {ทดสอบ [] การทดสอบ = {InsertTest, IterAtetest, getTest, RemoveTest}; การทดสอบ (ทดสอบรายการ); } การทดสอบโมฆะ staticPublic (ทดสอบ [] การทดสอบ, รายการ <string> รายการ) {สำหรับ (inti = 0; i <tests.length; i ++) {system.out.print (การทดสอบ [i] .getOperation ()+"การดำเนินการ:"); longt1 = system.currenttimeMillis (); การทดสอบ [i] .test (รายการ); longt2 = system.currenttimeMillis (); System.out.print (T2-T1+ "MS"); System.out.println (); }} publicStatic void main (string [] args) {list <string> list = null; // การทำซ้ำและการเข้าถึงแบบสุ่มของการทดสอบอาร์เรย์ System.out.println ("-------------"); สตริง [] tSTR = สตริงใหม่ [ขนาด]; array.fill (TSTR, "Lion"); list = arrays.aslist (TSTR); Testarray (รายการ); TSTR = สตริงใหม่ [ขนาด/2]; คอลเลกชัน <String> coll = array.aslist (tSTR); // ทดสอบเวกเตอร์ System.out.println ("---------------"); list = เวกเตอร์ใหม่ <string> (); list.addall (coll); TestList (รายการ); // ทดสอบ LinkedList System.out.println ("--------------"); list = new LinkedList <String> (); list.addall (coll); TestList (รายการ); // ทดสอบ arraylist system.out.println ("-------------"); list = new ArrayList <String> (); list.addall (coll); TestList (รายการ); -ผลการดำเนินการจะแสดงในรูป
จากผลลัพธ์เราจะเห็นว่าความเร็วในการเข้าถึงแบบสุ่มและการวนซ้ำอาร์เรย์นั้นเร็วที่สุด ความเร็วในการแทรกและการลบ LinkedList นั้นเร็วที่สุด ความเร็วของการเข้าถึงแบบสุ่มไปยัง ArrayList ก็เร็วมากเช่นกัน คลาสเวกเตอร์ไม่มีประสิทธิภาพที่โดดเด่นในทุกด้านและไม่แนะนำประเภทนี้อีกต่อไป
สรุป
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคนในการเรียนรู้หรือใช้ Java หากคุณมีคำถามใด ๆ โปรดฝากข้อความเพื่อพูดคุย