Hi ich habe ein Problem:
in deisem Beispiel versuche ich aus einer List von Vereinsmitgliedern (mit name und alter), alle Mitglieder zu löschen die unter einer bestimmten altersgrenze sind z.b 44:
Hie die Klasse Mitglied:
Die Mitglieder werden in einer ArrayList gespeichert
In diese Klasse werden 9 mitglieder erstellt und anschließend der Liste hinzugefügt. Der Iterrator soll alle Mitglieder unter 44 Jahren aus der Liste löschen. Doch leider verändert sich die Liste nicht:
Hier die Konsolenausgabe:
hat jemand einen Tipp? Wäre super ;-)
in deisem Beispiel versuche ich aus einer List von Vereinsmitgliedern (mit name und alter), alle Mitglieder zu löschen die unter einer bestimmten altersgrenze sind z.b 44:
Hie die Klasse Mitglied:
Java:
public class Mitglied {
private String name;
private int alter;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the alter
*/
public int getAlter() {
return alter;
}
/**
* @param alter the alter to set
*/
public void setAlter(int alter) {
this.alter = alter;
}
/**
* @param name
* @param alter
*/
public Mitglied(String name, int alter) {
this.name = name;
this.alter = alter;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Mitglied [name=" + name + ", alter=" + alter + "]";
}
}
Die Mitglieder werden in einer ArrayList gespeichert
Java:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class Mitgliederliste {
private List<Mitglied> mitglieder ;
public Mitgliederliste(){
this.mitglieder= new ArrayList<Mitglied>();
}
public void add(Mitglied m){
this.mitglieder.add(m);
}
public List<Mitglied> getMitglieder(){
return new ArrayList<Mitglied>(mitglieder);
}
}
In diese Klasse werden 9 mitglieder erstellt und anschließend der Liste hinzugefügt. Der Iterrator soll alle Mitglieder unter 44 Jahren aus der Liste löschen. Doch leider verändert sich die Liste nicht:
Java:
import java.util.Iterator;
import java.util.Set;
public class Verarbeitung {
public static void main(String[] args) {
Mitglied m1=new Mitglied("A", 40);
Mitglied m2=new Mitglied("B", 20);
Mitglied m3=new Mitglied("C", 55);
Mitglied m4=new Mitglied("D", 13);
Mitglied m5=new Mitglied("F", 12);
Mitglied m6=new Mitglied("G", 10);
Mitglied m7=new Mitglied("H", 44);
Mitglied m8=new Mitglied("I", 56);
Mitglied m9=new Mitglied("J", 60);
Mitgliederliste listeM=new Mitgliederliste();
listeM.add(m1);
listeM.add(m2);
listeM.add(m3);
listeM.add(m4);
listeM.add(m5);
listeM.add(m6);
listeM.add(m7);
listeM.add(m8);
listeM.add(m9);
for (Mitglied m : listeM.getMitglieder()) {
System.out.println(m);
}
System.out.println("----------------------------------------");
Iterator<Mitglied> iter=listeM.getMitglieder().iterator();
while(iter.hasNext()){
Mitglied next=iter.next();
if(next.getAlter()<44){
iter.remove();
}
}
for (Mitglied m : listeM.getMitglieder()) {
System.out.println(m);
}
}}
Hier die Konsolenausgabe:
Java:
Mitglied [name=A, alter=40]
Mitglied [name=B, alter=20]
Mitglied [name=C, alter=55]
Mitglied [name=D, alter=13]
Mitglied [name=F, alter=12]
Mitglied [name=G, alter=10]
Mitglied [name=H, alter=44]
Mitglied [name=I, alter=56]
Mitglied [name=J, alter=60]
----------------------------------------
Mitglied [name=A, alter=40]
Mitglied [name=B, alter=20]
Mitglied [name=C, alter=55]
Mitglied [name=D, alter=13]
Mitglied [name=F, alter=12]
Mitglied [name=G, alter=10]
Mitglied [name=H, alter=44]
Mitglied [name=I, alter=56]
Mitglied [name=J, alter=60]
hat jemand einen Tipp? Wäre super ;-)
Zuletzt bearbeitet: