[JAVA] LinkedList et ArrayList

Qu'est-ce qu'une liste

J'utilisais ArrayList à cause de la mort cérébrale, mais il semble qu'il y ait en fait diverses choses.

LinkedArrayListTest.java


package listTest;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class LinkedArrayListTest {
	
	public static void main(String[] args) {
		measure(1000000);
	}
	
	private static void linked(int num) {
		List<String> list = new LinkedList<>();
		for (int i = 0; i < num; i++) {
			list.add("asd");
		}
	}
	
	private static void array(int num) {
		List<String> list = new ArrayList<>();
		for (int i = 0; i < num; i++) {
			list.add("asd");
		}
	}
	
	public static void measure(int num) {
		Long start = System.nanoTime();
		linked(num);
		Long middle = System.nanoTime();
		array(num);
		Long end = System.nanoTime();
		System.out.println("Linked : " + (middle - start) + " ns\r\nArray : " + (end - middle) + " ns");
	}
}

résultat

Linked : 19082700 ns
Array  : 14878000 ns

Bon, je ne peux rien dire car le nombre de fois est petit, mais il semble que LinkedList soit plus rapide si seulement ajouter

Cependant, il semble qu'Array soit plus rapide pour intégrer des éléments spécifiques tels que get (0).

Si vous voulez juste créer une liste et une boucle for, vous pouvez utiliser LinkedList, et si vous voulez utiliser beaucoup d'ordre, c'est comme Array.

S'il y a de la capacité de réserve, je serais heureux si de tels problèmes mineurs de performance pouvaient être considérés.

Recommended Posts

LinkedList et ArrayList
Différence entre ArrayList et LinkedList
Liste des tableaux
java ArrayList, Vector, comparaison LinkedList
Différence entre List et ArrayList
[Java] Différence entre array et ArrayList
À propos de removeAll et de retentionAll de ArrayList
[Pratique] ArrayList
== et égal
[Pratique] ArrayList
Pratique ArrayList
Différence entre EMPTY_ELEMENTDATA et DEFAULTCAPACITY_EMPTY_ELEMENTDATA dans ArrayList
Trier ArrayList en faisant glisser et en déposant ItemTouchHelper
Classe ArrayList