Arrays
Ici on peut séparer deux types, les primitifs et ceux basés sur les structures
Primitif
S'écris avec une classe et deux [], la principale différence ici est que la taille est fixée et ne change pas
int[] array = new int[]{1,2,3,4,5};
int[] voidarray = new int[5];
On accède à la longeur de l'array en utilisant .length
On peut soit lui donné des valeurs soit donné une taille fixe pour accéder à des valeurs on utilise :
array[0] //=> 1
voidarray[0] = 0;
Pour copier un array, on doit soit utiliser une boucle for pour avoir les valeurs soit utiliser
int[] sourceArray = {1, 2, 3, 4, 5};
int[] destinationArray = new int[sourceArray.length];
System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);
pour copier les références
De manière générale, on peut également l'utiliser pour n'importe quelle classe comme apr exemple :
Element[] elements = new Element[1];
Structural
Tout d'abord, il doit être importé,
import java.util.ArrayList;
Sa taille est variable et ne change pas, on la construit en précisant le contenu des classes dans des <>
ArrayList<Integer> myArrayList = new ArrayList<>();
Les trois méthodes principales sont
myArrayList.add(42); // Add a value
int value = myArrayList.get(0); // Access a value
myArrayList.remove(0); // Remove a value
De manière similaire on peut utiliser la superclasse List, en réalité il y a des différences entre les deux et certains cas ou on préférera l'un par rapport à l'autre
Pour copier deux arrays on peut soit utiliser une boucle for pour avoir les valeurs copié soit utiliser des valeurs copiées
ArrayList<Integer> array = new ArrayList<>();
ArrayList<Integer> array2 = new ArrayList<>(array);
pour avoir les références