Comment étendre un tableau en Java, sans changer son nom
Je me demande si il est possible d'étendre un tableau en Java, mais sans en changer le nom, car j'ai plusieurs méthodes liés à ce tableau. Je pensais à la création d'un nouveau tableau avec le même nom, mais deux fois plus grand, puis copiez tous les éléments du premier tableau de la deuxième. Est-ce possible?
Fondamentalement, je veux faire un tableau avec des comptes d'une banque, et si le client crée autant d'accounds que le tableau n'a pas assez d'éléments, il devrait s'étendre sur lui-même.
Merci pour toutes les réponses!
Je suppose que c'est des devoirs?
pas un dev Java, mais si vous avez besoin d'un tableau dynamique, la taille n'est pas typé Vecteur une bonne option ?
Donc pour le moment mon tableau ressemble à ceci: SimpleAccount [] AccountArray = new SimpleAccount[10]; puis, comment puis-je la changer en une ArrayList?
pas un dev Java, mais si vous avez besoin d'un tableau dynamique, la taille n'est pas typé Vecteur une bonne option ?
Donc pour le moment mon tableau ressemble à ceci: SimpleAccount [] AccountArray = new SimpleAccount[10]; puis, comment puis-je la changer en une ArrayList?
OriginalL'auteur Kajsa | 2010-12-16
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas modifier le tableau que vous avez, mais il peut créer un nouveau tableau avec le type et la taille, copier les données du tableau d'origine pour le nouvellement créé, puis l'affecter à l'origine de la variable de matrice.
Mais vous ne devriez pas le faire.
Au lieu d'un tableau d'utiliser toute la mise en œuvre de
java.util.List
.ArrayList
est un bon choix pour ce cas, je pense.OriginalL'auteur khachik
Même si en utilisant un
ArrayList
est probablement un bon conseil dans de nombreuses circonstances, il y a tout à fait légitime d'occasions pour l'utilisation de de la plaine de vieux tableaux.Dans ce cas, si vous avez besoin de redimensionner votre tableau, vous pouvez étudier un des
java.utils.Les tableaux de.copyOf
méthodes. Veuillez noter cependant que ceux qui ne seront pas vraiment redimensionner votre tableau. Ils vont simplement créer un nouveau tableau et copier des objets communs.Si le nouveau tableau a une taille plus grande que l'ancienne, les nouveaux éléments seront initialisées à des valeurs par défaut de la valeur (c'est à dire:
false
pourboolean[]
,null
pourT[]
- voir la documentation pour plus de détails). Vous devez utiliser ces fonctions comme:Rappelez-vous cependant que cette méthode retournera toujours un nouveau tableau. Même si la taille demandée est le même que celui d'origine. Si cette pas désirable, vous aurez à écrire quelque chose comme ça:
OriginalL'auteur Sylvain Leroux
Voici une méthode que j'ai écrit pour ma Programmation Java de la Classe
C'est assez auto explanitory sur la façon dont cela fonctionne, bien que sur la façon dont il est utilisé, il doit avoir
le tableau attribué à la méthode avec la tableaux de nom en passant comme argument, et le type de données de la méthode doit toujours être le type de tableau passé en.
exemple:
Désolé si c'est expliqué terriblement et je suis sûr qu'il ya une meilleure façon de le faire VIA des vecteurs ou des ArrayLists. Mais si vous voulez prolonger une primitive de tableau, c'est une façon de le faire.
Espère que j'ai aidé =D
OriginalL'auteur Nick
Utiliser un ArrayList, il fait tout pour vous. Appelez simplement
add()
ouaddAll()
pour ajouter des trucs.comptes = new ArrayList<SimpleAccount>();
OriginalL'auteur thejh
OriginalL'auteur B48max