Hallo,
ich habe ArraLists, die immer nur Objekte einer Klasse enthalten.
Ist der folgende Code zum Löschen bestimmter Elemente effizient oder geht das auch einfacher?
Gruß
System.exit(0)
ich habe ArraLists, die immer nur Objekte einer Klasse enthalten.
Ist der folgende Code zum Löschen bestimmter Elemente effizient oder geht das auch einfacher?
Gruß
System.exit(0)
Java:
public static ArrayList <mySprite> delete_mySprites(ArrayList <mySprite> List)
{
// Länge der Liste bestimmen
ArrayList <Integer> indices = new ArrayList <Integer>();
// Nach Löschbedingung suchen, aber von hinten
for (int i = List.size(); i > 0 ; --i)
{
if (List.get(i).getLebensPunkte() <= 0)
{
indices.add(i);
}
}
// Elemente von hinten nach vorne löschen
// somit bleiben die Indices konstant
for (int i = 0; i < indices.size(); i++)
{
List.remove((int)indices.get(i));
}
return List;
}
}