Duplicate possible:
comment ajouter de nouveaux éléments à un tableau String []?
Je suis nouveau dans Java j'ai donc besoin de peu d'aide
J'ai
String [] scripts = new String [] ("test3","test4","test5");
et je veux ajouter de nouvelles chaînes (chaîne1, chaîne2) à ce tableau (scripts) pour des exemples
String string1= " test1"
String string2 = "test2"
Je veux ajouter la nouvelle chaîne non pas dans l'init mais dans la phase ultérieure
Comment je peux le faire ?
Vous ne pouvez pas redimensionner un tableau en Java.
Une fois la taille du tableau déclarée, elle reste fixe.
Au lieu de cela, vous pouvez utiliser ArrayList
qui a une taille dynamique, ce qui signifie que vous n'avez pas à vous soucier de sa taille. Si votre liste de tableaux n'est pas assez grande pour accueillir de nouvelles valeurs, elle sera automatiquement redimensionnée.
ArrayList<String> ar = new ArrayList<String>();
String s1 ="Test1";
String s2 ="Test2";
String s3 ="Test3";
ar.add(s1);
ar.add(s2);
ar.add(s3);
String s4 ="Test4";
ar.add(s4);
D'abord, ce code ici,
string [] scripts = new String [] ("test3","test4","test5");
devrait être
String[] scripts = new String [] {"test3","test4","test5"};
Veuillez lire ce tutoriel sur Arrays
Seconde,
Les tableaux ont une taille fixe, vous ne pouvez donc pas ajouter de nouvelles chaînes au tableau ci-dessus. Vous pouvez remplacer les valeurs existantes
scripts[0] = string1;
(ou)
Créez un tableau de taille, puis continuez à ajouter des éléments jusqu'à ce qu'il soit plein.
Si vous voulez des tableaux redimensionnables, pensez à utiliser ArrayList .
vous auriez à écrire une méthode pour créer un tableau temporaire, puis le copier comme
public String[] increaseArray(String[] theArray, int increaseBy)
{
int i = theArray.length;
int n = ++i;
String[] newArray = new String[n];
for(int cnt=0;cnt<theArray.length;cnt++)
{
newArray[cnt] = theArray[cnt];
}
return newArray;
}
ou Le ArrayList serait utile pour résoudre votre problème.
La plupart des réponses suggérant une meilleure solution consiste à utiliser ArrayList. La taille de ArrayList n'est pas fixe et est facilement gérable.
C'est une implémentation de tableau redimensionnable de l'interface List. Implémente toutes les opérations de liste facultatives et autorise tous les éléments, y compris null. En plus d'implémenter l'interface List, cette classe fournit des méthodes pour manipuler la taille du tableau utilisé en interne pour stocker la liste.
Chaque instance de ArrayList a une capacité. La capacité est la taille du tableau utilisé pour stocker les éléments dans la liste. Il est toujours au moins aussi grand que la taille de la liste. Lorsque des éléments sont ajoutés à une liste de tableaux, sa capacité augmente automatiquement.
Notez que cette implémentation n'est pas synchronisée.
ArrayList<String> scripts = new ArrayList<String>();
scripts.add("test1");
scripts.add("test2");
scripts.add("test3");
Étant donné que les tableaux Java contiennent un nombre fixe de valeurs, vous devez créer un nouveau tableau d'une longueur de 5 dans ce cas. Une meilleure solution consisterait à utiliser un ArrayList et simplement add chaînes dans le tableau.
Exemple:
ArrayList<String> scripts = new ArrayList<String>();
scripts.add("test3");
scripts.add("test4");
scripts.add("test5");
// Then later you can add more Strings to the ArrayList
scripts.add("test1");
scripts.add("test2");