これ以上苦労せずに、サンプルコードを見てください
パッケージcn.lion.test; public class performancetest {privatestatic final int size = 100000; publicTatic Abstractクラステスト{privatestring操作; publictest(string操作){this.operation = operation; } publicAbstract void Test(list <string> list); publicString getoperation(){return; }} // iterate操作を実行する匿名クラス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(); }}}}}}; //ランダムアクセス匿名クラスstatictest 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(tests [i] .getoperation()+"操作:"); longt1 = system.currenttimemillis();テスト[i] .test(list); longt2 = system.currenttimemillis(); System.out.Print(T2-T1+ "MS"); System.out.println(); }} publicStatic void main(string [] args){list <string> list = null; //テスト配列System.out.println( "-------------")の反復およびランダムアクセス操作操作string [] tstr = new String [size]; arrays.fill(tstr、 "lion"); list = arrays.aslist(tstr); Testarray(リスト); tstr = new String [size/2]; collection <string> coll = arrays.aslist(tstr); //ベクトルSystem.out.println( "------------"); list = new Vector <String>(); list.addall(coll); testList(list); // linkedlist system.out.println( "------------"); list = new LinkedList <String>(); list.addall(coll); testList(list); // ArrayList System.out.println( "------------"); list = new ArrayList <String>(); list.addall(coll); testList(list); }}操作結果を図に示します
結果から、ランダムアクセスの速度とアレイの反復が最速であることがわかります。 LinkedListを挿入して削除する速度は最速です。 ArrayListへのランダムアクセスの速度も非常に高速です。ベクタークラスには、あらゆる面で優れたパフォーマンスがありません。このタイプは推奨されなくなりました。
要約します
上記はこの記事に関するものです。誰もがJavaを学んだり使用したりすることが役立つことを願っています。ご質問がある場合は、メッセージを残して話し合ってください。