0
votes

ArrayList comme paramètre dans le constructeur

Je suis en difficulté pour comprendre le tableau lorsqu'il est utilisé dans un constructeur.

Disons que j'ai le code suivant: xxx

Si j'ai créé une autre classe pour tester la Les noms de noms comme: xxx

Comment puis-je ajouter à la matrice à l'aide du paramètre du constructeur? Est-ce que je répertorie les noms d'une manière ou d'une autre où les points d'interrogation sont?

Je ne peux pas comprendre cela, donc aucune aide serait très appréciée. Juste pour clarifier, lors de la création d'un nouvel objet 'N' dans la classe Namesteter, je voudrais appeler le constructeur de sorte que le nombre d'étudiants (10) et leurs noms ("Jack", "John", etc.) ont lieu dans les attributs "noms" et "numéro" afin que lorsque j'ajoute les configurateurs pour les deux, je peux les imprimer.


2 commentaires

Pouvez-vous s'il vous plaît élaborer votre question plus?


Vous devez passer une liste de matrices. Nouveau noms (10, nouvelle arraylist <> ()); ou vous pouvez utiliser arranges.aSlist ("un", "Deux", "TROIS") MAIS 'T Une liste de matrices, juste une liste.


4 Réponses :


2
votes

Eh bien, vous pouvez simplement faire:

public class NamesTester {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        names.add("bob");
        names.add("sally");
        //you can add more here till you get 10 names....
        Names n = new Names(10, names );
    }
}


1 commentaires

Merci. C'est ce que j'ai fini par faire et travaillé brillamment.



1
votes

Si j'ai bien compris votre question, vous devez transmettre une nouvelle arraylist à la classe Constructor des noms et peut-être ajouter une méthode pour ajouter des éléments à cette liste, donc par exemple xxx


0 commentaires

0
votes

Tout d'abord, vous voulez probablement que tout ait déclaré un java.util.list code> plutôt que ArrayList code>. Dans la grande majorité des usecases, la spécification du type de collecte de béton n'est indésirable que cela vous oblige à utiliser uniquement une implémentation spécifique et mène simplement à beaucoup de maux de tête.

Le moyen le plus simple de spécifier et de construire une liste dans Java utilise la Un des list.of a> méthodes. Notez que ces listes sont immuables et ne peuvent pas être modifiées (par exemple ajoutées ou supprimées de). P>

Cela ressemblerait à quelque chose comme: P>

public class Names {
    List<String> names;
    private int number;

    public Names(int numberIn, List<String> namesIn) {
        number = numberIn;
        names = namesIn;
    }
}

public class NamesTester {
    public static void main(String[] args) {
        Names n = new Names(10, List.of("Joe", "Jill", "Bob", "Bobilina" );
    }
}


0 commentaires

1
votes

regardons chaque étape séparément.

ArrayList code> est un type de référence ordinaire (catégorie), comme n'importe quelle autre classe, que ce soit une chaîne Code>, INTEGER code>, Date code> ou YourCustomClass code>. La seule différence est que c'est un Type générique .

Lorsque vous définissez le paramètre de méthode (par exemple ArrayList Liste code>), vous le définissez avec: p>

  1. Type de paramètre (qui est ArrayList code> de l'exemple ci-dessus); Li>
  2. identifiant de variable (nom de variable, qui est list code> dans le même exemple); li> ol>

    maintenant, consultez votre code: P>

    ArrayList<String> list = new ArrayList<>();
    list.add("Jack");
    list.add("John");
    //and so on.
    


1 commentaires

Bonne rupture du problème et une excellente explication. Merci.