คำนำ
มีหลายวิธีในการสำรวจแผนที่ในชวา ในบทความนี้มาดูสองวิธีในการอ่านแผนที่ใน Java และการเปรียบเทียบสองวิธีนี้
1. วิธีแผนที่ทราเวอร์แซลก
แผนที่แผนที่ = ใหม่ hashmap (); Iterator iter = map.entryset (). iterator (); ในขณะที่ (iter.hasnext ()) {map.entry entry = (map.entry) iter.next (); Key Object = entry.getKey (); Object val = entry.getValue (); - 2. วิธีการข้ามแผนที่ B
แผนที่แผนที่ = ใหม่ hashmap (); Iterator iter = map.keyset (). iterator (); ในขณะที่ (iter.hasnext ()) {object key = iter.next (); Object val = map.get (คีย์); - 3. การวิเคราะห์วิธีการสำรวจ
วิธี A: อ่าน Map.Entry หนึ่งครั้งใน Traversal จากนั้นรับค่าโดยตรง
วิธี B: ขึ้นอยู่กับคีย์เซ็ตซ้ำผ่านก่อนจากนั้นอ่านข้อมูลจากแผนที่
4. การทดสอบประสิทธิภาพ
นำเข้า java.util.hashmap; นำเข้า java.util.iterator; นำเข้า java.util.map; นำเข้า org.junit.beforeclass; นำเข้า org.junit.test; คลาสสาธารณะ Maploopa {แผนที่คงที่ส่วนตัว <จำนวนเต็ม, สตริง> infos = ใหม่ hashmap <จำนวนเต็ม, สตริง> (); @beforeclass การตั้งค่าโมฆะสาธารณะคงที่ () {สำหรับ (int i = 0; i <1000000; i ++) {infos.put (i, "ข้อมูลทดสอบ"+i); } system.out.println ("การตั้งค่าเสร็จสิ้น"); } @Test โมฆะสาธารณะ testMAPLOOPA () {ITERATOR <map.entry <จำนวนเต็ม, สตริง >> iterator = infos.entrySet (). iterator (); Long StartTime = System.currentTimeMillis (); ในขณะที่ (iterator.hasnext ()) {map.entry <จำนวนเต็ม, string> entry = iterator.next (); int key = entry.getKey (); String val = entry.getValue (); } system.out.println ("โซลูชันใช้ในการวนซ้ำแผนที่ด้วยรายการ 10,00000 รายการ:" + (System.currentTimeMillis ()-เริ่มต้น) + "มิลลิวินาที"); } @Test โมฆะสาธารณะ TestMAPLOOPB () {ITERATOR <INTEGER> ITERATOR = InfOS.KeySet () Iterator (); Long StartTime = System.currentTimeMillis (); ในขณะที่ (iterator.hasnext ()) {int key = iterator.next (); String val = infos.get (คีย์); } system.out.println ("B โซลูชันใช้เวลาในการวนซ้ำแผนที่ด้วยรายการ 10,00000 รายการ:" + (System.currentTimeMillis ()-เริ่มต้น) + "Milli Seconds"); -ผลการทดสอบ:
จะเห็นได้ว่า 1,000,000 ข้อมูลถูกเก็บไว้ในแผนที่และข้ามในชุดข้อมูลนี้ ความแตกต่างของประสิทธิภาพเกือบ 1 เท่าของประสิทธิภาพ
5. สรุป
โอเคข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ คุณจะเห็นว่าประสิทธิภาพของวิธีการรถยนต์ A โดยทั่วไปสูงกว่า โดยทั่วไปขอแนะนำให้ใช้วิธี A. ฉันหวังว่าเนื้อหาของบทความนี้จะช่วยในการศึกษาหรือทำงานของทุกคน