Sin más preámbulos, solo mire el código de muestra
paquete cn.lion.test; public class PerformanceStest {privateStatic Final int size = 100000; Publicstatic Abstract Class Test {Operación de PrivateString; PublicTest (operación de cadena) {this.operation = operation; } PublicabStract void test (list <string> list); Publicstring getOperation () {return; }} // clase anónima que realiza operaciones iterador statictest iterateTest = new test ("iterate") {publicvoid test (list <string> list) {for (inti = 0; i <10; i ++) {iterator <tred> it = list.iterator (); while (it.hasnext ()) {it.next (); }}}}}}; // Ejecutar el acceso aleatorio de acceso anónimo 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); }}}}}}; // Ejecutar 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 ("león"); }}}}; // Ejecutar la clase anónima eliminada 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}; prueba (pruebas, lista); } staticPublic void testList (list <string> list) {test [] tests = {InsertTest, IterAtetest, GetTest, RemoveTest}; prueba (pruebas, lista); } staticPublic void test (test [] tests, list <string> list) {for (inti = 0; i <tests.length; i ++) {system.out.print (tests [i] .getoperation ()+"operación:"); longt1 = System.CurrentTimemillis (); pruebas [i] .test (lista); longT2 = System.CurrentTimemillis (); System.out.print (T2-T1+ "MS"); System.out.println (); }} publicstatic void main (string [] args) {list <string> list = null; // Operaciones de iteración y acceso aleatorio de la matriz de prueba.out.println ("-------------"); Cadena [] tstr = new String [size]; Arrays.fill (tstr, "león"); list = arrays.aslist (tstr); testarArray (lista); tstr = nueva cadena [tamaño/2]; Colección <String> coll = arrays.aslist (tstr); // Test Vector System.out.println ("---------------"); list = new Vector <String> (); list.addall (coll); TestList (lista); // prueba LinkedList System.out.println ("--------------"); list = new LinkedList <String> (); list.addall (coll); TestList (lista); // Test ArrayList System.out.println ("-------------"); list = new ArrayList <String> (); list.addall (coll); TestList (lista); }}Los resultados de la operación se muestran en la figura
De los resultados, podemos ver que la velocidad del acceso aleatorio e iterando la matriz es la más rápida; La velocidad de insertar y eliminar la lista de enlaces es la más rápida; La velocidad del acceso aleatorio a ArrayList también es muy rápida; La clase Vector no tiene un rendimiento sobresaliente en todos los aspectos, y este tipo ya no se recomienda.
Resumir
Lo anterior se trata de este artículo, espero que sea útil para todos aprender o usar Java. Si tiene alguna pregunta, deje un mensaje para discutir.