Sans plus tarder, regardez simplement l'exemple de code
package cn.lion.test; classe publique PerformanceTest {privatestatic final int size = 100000; PublicStatic Abstract Class Test {Operation PrivateString; Publicest (String Operation) {this.operation = opération; } PublicAbstract void test (liste <string> liste); PublicString getOperation () {return; }} // classe anonyme qui effectue des opérations itérate strictest 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 (); }}}}}}; // Exécuter l'accès aléatoire Anonyme Class strictest 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); }}}}}}; // exécuter insertTest insertTest = new test ("insert") {publicVoid test (list <string> list) {listIterator <string> it = list.listiterator (list.size () / 2); pour (inti = 0; i <size; i ++) {it.add ("lion"); }}}}; // Exécuter la classe anonyme supprimée staticest reposEsty = new test ("supprimer") {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}; test (tests, liste); } staticpublic void testlist (list <string> list) {test [] tests = {insertTest, iTerateTest, getTest, remoVeTest}; test (tests, liste); } staticpublic void test (test [] tests, list <string> list) {for (inti = 0; i <tests.length; i ++) {System.out.print (tests [i] .getOperation () + "opération:"); longt1 = System.Currenttimemillis (); tests [i] .test (list); longt2 = System.Currenttimemillis (); System.out.print (T2-T1 + "MS"); System.out.println (); }} publicStatic void main (string [] args) {list <string> list = null; // itération et opérations d'accès aléatoire de Test Array System.out.println ("-------------"); String [] tStr = new String [size]; Arrays.fill (TSTR, "Lion"); list = arrays.aslist (TSTR); TestArray (liste); tSTR = nouvelle chaîne [size / 2]; Collection <string> coll = arrays.aslist (tSTR); // Test Vector System.out.println ("---------------"); list = new vector <string> (); list.addall (coll); TestList (liste); // Tester LinkedList System.out.println ("--------------"); list = new LinkedList <string> (); list.addall (coll); TestList (liste); // Test ArrayList System.out.println ("--------------"); list = new ArrayList <string> (); list.addall (coll); TestList (liste); }}Les résultats de l'opération sont présentés sur la figure
D'après les résultats, nous pouvons voir que la vitesse d'accès aléatoire et d'itération du tableau est la plus rapide; La vitesse d'insertion et de suppression de la liste Linked est la plus rapide; La vitesse de l'accès aléatoire à la liste Array est également très rapide; La classe vectorielle n'a aucune performance exceptionnelle dans tous les aspects, et ce type n'est plus recommandé.
Résumer
Ce qui précède concerne cet article, j'espère qu'il sera utile pour tout le monde d'apprendre ou d'utiliser Java. Si vous avez des questions, veuillez laisser un message à discuter.