Ich habe eine Klasse mit dem Namen Utilizador mit den folgenden Attributen erstellt:Wie füge ich ein Element zu einer Liste hinzu, innerhalb einer anderen Liste?
private String nome;
private String email;
private String cidadeAtual;
private List<String> checkins = new ArrayList<String>();
private List<String> amigos = new ArrayList<String>();
In meiner Hauptklasse ich eine Liste von Utilizadores mit dem followinf Format haben:
Nickname: Daniel | Email: dd | Cidade atual: Maia | Checkins: [Maia] | Amigos: []
Nickname: Maria | Email: dd2 | Cidade atual: Porto | Checkins: [Porto] | Amigos: []
Was ich tun werde versuchen, Geben Sie einen Namen und dann den anderen ein und fügen Sie eine Freundschaft hinzu. Zum Beispiel:
Ich tippe Daniel, drücke Enter. Ich tippe Maria, drücke Enter. Die Liste amigos müssen nun jeweils anderen haben Namen wie folgt aus:
Nickname: Daniel | Email: dd | Cidade atual: Maia | Checkins: [Maia] | Amigos: [Maria]
Nickname: Maria | Email: dd2 | Cidade atual: Porto | Checkins: [Porto] | Amigos: [Daniel]
Aber die Methode, die ich entwickelt legt beide Namen innerhalb der Liste Amigos wie folgt aus:
Nickname: Daniel | Email: dd | Cidade atual: Maia | Checkins: [Maia] | Amigos: [Maria, Daniel]
Nickname: Maria| Email: dd2 | Cidade atual: Porto | Checkins: [Porto] | Amigos: [Maria, Daniel]
Hier ist die Methode:
public static void adicionarAmizade() {
Scanner cu = new Scanner(System.in);
System.out.println("Introduza o nome dos utilizadores!");
System.out.println("\n1º:");
String amigo1 = cu.next();
System.out.println("\n2º:");
String amigo2 = cu.next();
for (Utilizador u : listaUtilizadores) {
if ((u.getNome()).equals(amigo1)) {
u.getAmigos().add(amigo2);
System.out.println("Adicionou");
System.out.println(u.toString());
break;
}
}
for (Utilizador u : listaUtilizadores) {
if ((u.getNome()).equals(amigo2)) {
u.getAmigos().add(amigo1);
System.out.println("Adicionou");
System.out.println(u.toString());
break;
}
}
}
Ist es aus irgendeinem Grund möglich, dass beide 'Utilizador' des' amigos' Listen die gleiche List-Instanz sind? –
Und ich weiß, es bedeutet mehr Arbeit an Ihrem Ende, aber im Allgemeinen: Dies ist eine englischsprachige Website. Die Chance, bessere Antworten zu erhalten, steigt, wenn Ihr Quellcode auch Englisch spricht. Für mich fehlt momentan der Kontext. Ich verstehe nicht, wie Ihre zwei oben genannten Listen und das größere Stück Quellcode zusammenkommen. – GhostCat
Ich schlage vor, Sie lernen über die HashMap. https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html – Sedrick