mercredi 29 avril 2015

Vector durchsuchen und Elemente löschen

Hey folks, ich habe irgendwie ein kleines Logikproblem. Ich habe einen Vector der Elemente gespeichert hat, dessen Wert unterschiedlich steigt. Erreicht dieser Wert eine bestimmte größe soll das Element aus dem Vector gelöscht werden. Ich habe bereits zwei Lösungsansätze versucht aber ohne das richtige Ergebnis zu erhalten.

Nummer 1: Das Problem hierbei ist das ich irgenwann in einen Fehler laufe (ArrayIndex out of Bounds), weil size z.B. 120 ist und ich aber gleichzeitig Elemente aus dem Vector entferne. Dann ist der Vector nicht mehr so groß das ich mit v.get(j).wert auf ein Element zugreifen werde.
Java Code:

  1. int size = v.size();
  2. for (int j = 0; j < size; j++) {
  3. double d = v.get(j).wert;
  4. if ((d) >= 60.0) {
  5. v.remove(j);
  6. }
  7. }


Nummer 2: Hierbei wird der Vector verkleinert, und bei jedem Schleifendurchlauf wird die Größe des Vectors neu betrachtet und mit j verglichen. Dabei werden nicht alle Elemente deren Wert 60 erreicht haben aus dem Vector gelöscht. Ich vermute weil ich den Vector verkleinere und gleichzeitig mit jedem Durchlauf j erhöhe.
Java Code:

  1.  
  2. for (int j = 0; j < v.size(); j++) {
  3. double d = v.get(j).wert;
  4. if ((d) >= 60.0) {
  5. v.remove(j);
  6. }
  7. }



Vielleicht weiss jemand Rat...

LG proto


Vector durchsuchen und Elemente löschen

0 commentaires:

Enregistrer un commentaire