더 이상 고민하지 않고 샘플 코드를 살펴보십시오
PACKATE CN.LION.TEST; PUBLIC CLASS PORCICENCETEST {privatestatic final int size = 100000; Publicstatic Abstract Class Test {Privatestring Operation; 게시 (문자열 작동) {this.operation = 작동; } publicAbStract void test (list <string> 목록); publicstring getOperation () {return; }} // 반복 작업을 수행하는 익명 클래스 Statictest iterateTest = new Test ( "iterate") {publicVoid test (list <string> list) {for (inti = 0; i <10; i ++) {iterator <string> it = list.iterator (); while (it.hasnext ()) {it.next (); }}}}}}; // 임의의 액세스 실행 익명 클래스 statest getTest = new Test ( "get") {publicVoid test (list <string> list) {for (inti = 0; i <list.size (); i ++) {for (intk = 0; k <10; k ++) {list.get (k); }}}}}}; // insertTest insertTest = new Test ( "insert") {publicVoid test (list <string> list) {listiterator <string> it = list.listiterator (list.size ()/2); for (inti = 0; i <size; i ++) {it.add ( "lion"); }}}}; // 삭제 된 익명 클래스 실행 statictest removetest = new test ( "remove") {publicVoid test (list <string> list) {listiterator <string> it = list.listiterator (); while (it.hasnext ()) {it.next (); it.remove (); }}}; staticpublic void testarray (list <string> list) {test [] tests = {iterateTest, getTest}; 테스트 (테스트, 목록); } staticPublic void testList (list <string> list) {test [] tests = {insertTest, iterateTest, getTest, removetest}; 테스트 (테스트, 목록); } staticpublic void test (test [] tests, list <string> list) {for (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; // 테스트 배열 시스템의 반복 및 임의 액세스 작업 .out.println ( "--------------"); 문자열 [] tstr = 새 문자열 [size]; Arrays.fill (tstr, "lion"); list = arrays.aslist (tstr); TestArray (목록); tstr = 새 문자열 [size/2]; Collection <string> coll = arrays.aslist (tstr); // 테스트 벡터 System.out.println ( "--------------"); list = new 벡터 <문자열> (); list.addall (coll); TestList (목록); // test 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를 배우거나 사용하는 것이 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 두십시오.