Liebe Java-Community,
ich möchte als Java-Anfänger ein Programm schreiben, um Objekte in einer Liste zu verwalten. Wie ich gesehen habe wurden hierzu schon mehrfach ähnliche Threads erstellt. Leider konnten mir die anderen Threads nicht weiterhelfen.
Ich möchte aus einer LinkedList ein zuvor erstelltes Objekt der Klasse Freund anhand des Attributs "name" löschen.
Ich habe zum Testen exemplarisch in der Main 3 Objekte erstellt.
Die unten aufgeführte Methode löscht nach Ausführung in der Main aber immer den ersten Eintrag der Liste, egal welchen name ich eingebe. Wo liegt mein Denkfehler??
[CODE lang="java" title="Methodenaufruf in der Main"]freund.deleteObj("Bauer");[/CODE]
[CODE lang="java" title="Methode zum Löschen"]public boolean deleteObj(String name){
Iterator<Freund> it = list.iterator();
while (it.hasNext()) {
Freund value = it.next();
if(value.equals(name));
it.remove();
return true;
}
return false;
}[/CODE]
Weiterhin möchte ich gerne einzelne Attribute der Objekte in der Liste nachträglich ändern. Bpsw. hat ein Freund eine Adresse. Ich konnte leider noch keinen Hinweis finden wie sich einzelne Attribute in einer Liste nachträglich möglichst "galant" ändern lassen?
Zu guter Letzt gibt es noch den Fall, dass ein Freund auch zwei Adressen haben kann. Muss sich also um eine 1:n-Beziehung handeln. Ich habe hier im Forum gelesen, dass man dies durch eine Collection lösen kann. Leider fehlt mir auch hier der erste Ansatz zur Implementierung?
Ich wäre sehr dankbar über jeden Hinweis zu den genannten Problemen und bedanke mich im Voraus!
Viele Grüße
ich möchte als Java-Anfänger ein Programm schreiben, um Objekte in einer Liste zu verwalten. Wie ich gesehen habe wurden hierzu schon mehrfach ähnliche Threads erstellt. Leider konnten mir die anderen Threads nicht weiterhelfen.
Ich möchte aus einer LinkedList ein zuvor erstelltes Objekt der Klasse Freund anhand des Attributs "name" löschen.
Ich habe zum Testen exemplarisch in der Main 3 Objekte erstellt.
Die unten aufgeführte Methode löscht nach Ausführung in der Main aber immer den ersten Eintrag der Liste, egal welchen name ich eingebe. Wo liegt mein Denkfehler??
[CODE lang="java" title="Methodenaufruf in der Main"]freund.deleteObj("Bauer");[/CODE]
[CODE lang="java" title="Methode zum Löschen"]public boolean deleteObj(String name){
Iterator<Freund> it = list.iterator();
while (it.hasNext()) {
Freund value = it.next();
if(value.equals(name));
it.remove();
return true;
}
return false;
}[/CODE]
Weiterhin möchte ich gerne einzelne Attribute der Objekte in der Liste nachträglich ändern. Bpsw. hat ein Freund eine Adresse. Ich konnte leider noch keinen Hinweis finden wie sich einzelne Attribute in einer Liste nachträglich möglichst "galant" ändern lassen?
Zu guter Letzt gibt es noch den Fall, dass ein Freund auch zwei Adressen haben kann. Muss sich also um eine 1:n-Beziehung handeln. Ich habe hier im Forum gelesen, dass man dies durch eine Collection lösen kann. Leider fehlt mir auch hier der erste Ansatz zur Implementierung?
Ich wäre sehr dankbar über jeden Hinweis zu den genannten Problemen und bedanke mich im Voraus!
Viele Grüße