Les tableaux en Java ont une taille fixe, vous ne pouvez donc pas "ajouter quelque chose à la fin" comme vous pourriez le faire en PHP.
Un peu similaire au comportement PHP est le suivant:
int[] addElement(int[] org, int added) {
int[] result = Arrays.copyOf(org, org.length +1);
result[org.length] = added;
return result;
}
Ensuite, vous pouvez écrire:
x = new int[0];
x = addElement(x, 1);
x = addElement(x, 2);
System.out.println(Arrays.toString(x));
Mais ce schéma est horriblement inefficace pour les plus grands tableaux , car il fait une copie de l'ensemble du tableau à chaque fois. (Et ce n'est en fait pas complètement équivalent à PHP, puisque vos anciens tableaux restent les mêmes).
Les tableaux PHP sont en fait assez identiques à un HashMap Java avec une "clé max" ajoutée, donc il saurait quelle clé utiliser ensuite, et un ordre d'itération étrange (et une étrange relation d'équivalence entre les clés Integer et certaines chaînes). Mais pour les collections indexées simples, mieux vaut utiliser une List en Java, comme les autres répondeurs proposés.
Si vous voulez éviter d'utiliser en List
raison de la surcharge de l'encapsulation de chaque int dans un entier, envisagez d'utiliser des réimplémentations de collections pour les types primitifs, qui utilisent des tableaux en interne, mais ne feront pas de copie à chaque modification, uniquement lorsque le tableau interne est plein ( comme ArrayList). (Un exemple rapidement googlé est cette classe IntList .)
Goyave contient des méthodes créant de tels emballages en Ints.asList
, Longs.asList
etc.