6
votes

Comment stocker un objet dans ArrayList?

J'essaie de stocker une personne d'objet dans une arrayliste.

J'ai un arraylist client = nouveau arraylist ();

L'objet 'personne' a deux variables: nom (chaîne) et pnr (long). J'ai essayé de simplement l'ajouter: client.Ajoud (personne) mais cela ne semble pas fonctionner.

Pour clarifier: Je ne veux pas stocker les variables individuellement. Je veux stocker la personne de l'objet entier dans le tableau.

Je ne peux tout simplement pas comprendre comment engager ce problème ou même si cela peut être fait.

Quelqu'un peut-il me diriger dans la bonne direction?


0 commentaires

9 Réponses :


19
votes

Changer votre liste code> telle qu'elle accepte un objet personne fort> au lieu d'une chaîne code>.

List<Person> customer = new ArrayList<Person>();
Person p = .....;
customer.add(person);


0 commentaires

0
votes

Dans ce cas, vous devez utiliser ArrayList


0 commentaires

3
votes

Vous devez utiliser une liste code> avec un autre type générique. Depuis que le type générique spécifié sur votre liste code> actuelle code> est code> code> Il vous permettra uniquement d'ajouter des objets de type chaîne code> dans la liste.

List<Person> customer = new ArrayList<Person>();


1 commentaires

ArrayList conserve également la commande. En outre, tout ce qui implémente la liste est nécessaire pour conserver une sorte d'ordre. (une prioritorakeue, par exemple, a une manière différente de spécifier l'ordre)



2
votes
ArrayList<Person> customer = new ArrayList<Person>(); 

0 commentaires

0
votes

Si vous souhaitez ajouter un objet à une liste de matrices, vous devez faire référence à cet objet dans le type de liste. IE: ArrayList Client = Nouvelle ArrayList ();


0 commentaires

1
votes

Alternativement, si vous insistez sur ArrayList Client CODE>, puis implémentez une méthode Tostring () code> dans votre classe de personne.

customer.add(person.toString())


0 commentaires

1
votes

Définir une personne de classe xxx

alors vous utilisez un: xxx


0 commentaires

3
votes

Regardez cette

import java.util.ArrayList;
import java.util.List;

public class Tester4 {

    public static void main(String args[]) {

        List<Person> persons = new ArrayList<Person>();

        Person person = new Person();
        person.setName("Tester");
        person.setPersonNr(1245L);
        persons.add(person);

        person = new Person();
        person.setName("Tester 2");
        person.setPersonNr(1299L);
        persons.add(person);
    }
}

class Person {

    private String name;

    private Long personNr;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getPersonNr() {
        return personNr;
    }

    public void setPersonNr(Long personNr) {
        this.personNr = personNr;
    }

}


0 commentaires

13
votes

Classe de la personne

String selectedName = personList.get(i).getName();


0 commentaires