Element aus Vector entfernen

Status
Nicht offen für weitere Antworten.

testing

Mitglied
Hallo!

Ich habe ein dynamisches Array aus Objekten gegeben:
Code:
Vector<MeineEigenenObjekte> namedesvectors;

Ich will jetzt eine bestimmtes Objekt daraus entfernen. Das Objekt selbst hat gewisse Variablen. Daran könnte ich das richtige Objekt finden. Bis jetzt hab ich mir gedacht, dass ich den ganzen Vector durchmaschiere und immer überprüfe ob der spezifizierte Parameter im aktuellen Objekt des Vector-Arrays vorkommt. Leider funktionierte bis jetzt kein einziger Versuch von mir. Die Funktionen indexOf, get, removeElement etc. bringen bei mir max. dass das Objekt nicht gefunden wurde. Was bringt mir eine Funktion in der ich das zu suchende Element schon mitgeben muss!?

Leider werden auch immer nur Object Objekte verlangt/zurückgegeben. Ich habe aber mein eigenes Objekt. Ein Casten hat mich auch nicht weitergebracht. Ich bräuchte ja nur den Index des gesuchten Elements im Vector. Dann könnte ich das mit einer fertigen Funktion entfernen ...

Was ich bis jetzt weiß ist, dass der Index auch größer sein kann als die Größe des Vectors. Also eine normale for-Schleife von 0 bis Größe des Vectors bringt relativ wenig. Außerdem muss ich wahrscheinlich beim Entfernen auf den Index achten, da evtl. alle Elemente mit höheren Index, der Index um 1 verringert wird. Da habe ich mir auch schon gedacht, dass man zuerst irgendwie alle Indizes raussucht die benötigt werden (es sollen ja mehrere Elemente entfernt werden), diese dann von max. nach min. ordnet, und dann in dieser Reihenfolge die Elemente entfernt.

Bitte keine Tipps wie "verwende doch eine ArrayList". Das Vector Array ist eine Vorgabe und ich muss die Funktion fertig implementieren.

Also, wer weiß wie man Element aus einem Vector Array entfernt?

Grüße
testing
 

Ebenius

Top Contributor
testing hat gesagt.:
Was bringt mir eine Funktion in der ich das zu suchende Element schon mitgeben muss!?[/code]
Die Collections arbeiten immer mit Object.equals(Object) und manche zusätzlich (d.h. vorher) mit Object.hashCode(). Du musst also nicht das selbe Objekt zum Löschen benutzen sondern ein gleiches.

testing hat gesagt.:
Ein Casten hat mich auch nicht weitergebracht.
Deutschland sucht den Superstar? ;-)

testing hat gesagt.:
Was ich bis jetzt weiß ist, dass der Index auch größer sein kann als die Größe des Vectors. Also eine normale for-Schleife von 0 bis Größe des Vectors bringt relativ wenig.
:shock: Größer? Dann ist was ganz anderes faul. List.indexOf(Object) gibt immer einen Wert -1 wenn das Objekt nicht gefunden wird, ansonsten größer gleich 0 (null) und kleiner als size.

testing hat gesagt.:
Außerdem muss ich wahrscheinlich beim Entfernen auf den Index achten, da evtl. alle Elemente mit höheren Index, der Index um 1 verringert wird. Da habe ich mir auch schon gedacht, dass man zuerst irgendwie alle Indizes raussucht die benötigt werden (es sollen ja mehrere Elemente entfernt werden), diese dann von max. nach min. ordnet, und dann in dieser Reihenfolge die Elemente entfernt.
Das erklärt dann den Abschnitt darüber... Wenn Du mittendrin löschst ist ja die Größe auch kleiner geworden, stümmts?

testing hat gesagt.:
Bitte keine Tipps wie "verwende doch eine ArrayList". Das Vector Array ist eine Vorgabe und ich muss die Funktion fertig implementieren.
Am einfachsten geht's so:
Code:
for (final Iterator<MeineEigenenObjekte> it = namedesvectors.iterator(); it.hasNext(); ) {
  final MeineEigenenObjekte element = it.next();
  if (meineEigeneBedingungTrifftZu(element)) {
    it.remove();
  }
}
Code im Browser getippt. Rechtschreibfehler dürft ihr behalten oder bei ebay versteigern.

Ebenius
 

testing

Mitglied
Hallo Ebenius!

Ich weiß auch nicht mehr so genau, warum dass mit den Indizes nicht geklappt hat. Folgender Code hat nur jedes zweite Element entfernt und eines überhaupt nicht:

Code:
for (int i = 0; i < namedesvectors.size(); i++) {
       if (namedesvectors.elementAt(i).eigeneFunktion().equals(MeineEigenenObjekte)) {
           namedesvectors.remove(namedesvectors.elementAt(i));
       }
}

Ich wollte jetzt mal deinen Code umsetzen. Leider kann ich nicht auf die Methode meines Objektes zugreifen. Es werden nur die Methoden des Iterators angeboten.
Code:
final Iterator<MeineEigenenObjekte> it

Den Zugriff auf diese Methode brauche ich aber damit ich meine Bedingung überprüfen kann. Zusätzlich verstehe den Funktionsablauf deines Codes noch nicht ganz. Aber du weißt bestimmt wie man das macht ;)

Grüße
testing

PS: Sorry, natürlich Typecast(-ing)
 

Ebenius

Top Contributor
In meinem Code-Beispiel Zeile 2... Das "element" ist das was Du brauchst. Dort hast Du alle Methoden, um Deine Bedingung zu prüfen. Viel Erfolg!
 
G

Guest

Gast
Wie konnt ich das nur übersehen :roll:

Ich werde es testen! Vielen Dank für deine Hilfe!

LG
testing
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Queue.remove() -> no such element exception Allgemeine Java-Themen 17
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
B flying-saucer-pdf Element vertikal strecken Allgemeine Java-Themen 0
P Selenium . Probleme ein Iron Icon Element anzusprechen Allgemeine Java-Themen 2
A Java ListNode Element einfügen ohne Bibliothek Allgemeine Java-Themen 6
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
S Link element an vorletzte stelle einfügen Allgemeine Java-Themen 2
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
B DomParser - Element filtern Allgemeine Java-Themen 4
S Iterable<?> anzahl der Element Allgemeine Java-Themen 14
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
C Swing File[] als klickbare links in irgendeinem Swing Element Allgemeine Java-Themen 3
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
B Prüfen, ob ein Element in der Liste nicht existiert Allgemeine Java-Themen 3
Messoras List zeigt nur das letzte Element an Allgemeine Java-Themen 14
O aus Liste ein beliebiges Element auswählen Allgemeine Java-Themen 7
G mittleres Element aus TreeMap Allgemeine Java-Themen 5
J XML Element Zugriff Allgemeine Java-Themen 4
S translate verschiebt verkehrtes Element Allgemeine Java-Themen 2
M Webservices: WSDL Files ohne "Service" Element? Allgemeine Java-Themen 4
P Element toString Allgemeine Java-Themen 9
J Element aus HashSet löschen Allgemeine Java-Themen 2
S Element aus ArrayListe löschen --> Thread hängt sich auf Allgemeine Java-Themen 2
E Blob Element kopieren Allgemeine Java-Themen 12
G Element aus Liste entfernen Allgemeine Java-Themen 6
B von Array-Element auf Position in Array Allgemeine Java-Themen 7
M Javadoc | Javadoc Eintrag des verlinkten Element einbetten? Allgemeine Java-Themen 4
A Element für Preferences Page Allgemeine Java-Themen 3
J Tree indexieren, Element-Indexierung Allgemeine Java-Themen 2
A Queue, beim dem das letzte Element herausfällt Allgemeine Java-Themen 4
I ArrayList mit einem aktiven Element Allgemeine Java-Themen 7
M Wie heißt denn dieses grafische Element ? Allgemeine Java-Themen 2
K Kein schließendes Tag bei leerem Element mit JDOM Allgemeine Java-Themen 8
E JTree - einzelnes Element (Knoten) editieren Allgemeine Java-Themen 2
B JList Element Auswahl Allgemeine Java-Themen 2
N Array Element vom Typ eines Objekts zeigt auf ein anderes A. Allgemeine Java-Themen 4
Ark Kubische Suche um ein Element in array[][][] Allgemeine Java-Themen 18
D Fehler beim löschen eines Arraylist-element Allgemeine Java-Themen 5
M Erstes Element einer Enumeration ermitteln Allgemeine Java-Themen 6
N Element aus LinkedList löschen Allgemeine Java-Themen 2
C Collection Element ersetzen Allgemeine Java-Themen 5
A Vector Strings in Array splitten Allgemeine Java-Themen 6
G Fehler mit Vector Allgemeine Java-Themen 3
M String Array Vector komprimieren und verschicken Allgemeine Java-Themen 3
P Vectorelemente in einen anderen Vector kopieren Allgemeine Java-Themen 12
U Vector aus Oberklasse spezialisieren Allgemeine Java-Themen 2
R Vector in JList Allgemeine Java-Themen 11
M Cast double[]-->Object[] oder Vector<double[]> Allgemeine Java-Themen 3
R Threads korrekte Synchronisation bei Vector und ArrayList Allgemeine Java-Themen 6
H Index Out of Bounds bei Vector Allgemeine Java-Themen 4
H Java Vector Frage Allgemeine Java-Themen 9
E NetBeans Vector durch ArrayList ersetzen Allgemeine Java-Themen 4
C Vector/Point-Problem Allgemeine Java-Themen 3
M Buffer-Vector einzeln und zusammen synchronisieren Allgemeine Java-Themen 4
B Suchalgorithmus der Klasse Vector Allgemeine Java-Themen 5
X Vector Allgemeine Java-Themen 3
S 2D Vector speziell ausgeben. Allgemeine Java-Themen 2
S Vector in Vector gespeichert, wie greift man darauf zu? Allgemeine Java-Themen 3
C Swing JTable Vector aus DB adden Allgemeine Java-Themen 3
R Vector.clear() oder neu initialisieren Allgemeine Java-Themen 3
S vector & strings Allgemeine Java-Themen 26
X Vector in Intervall-Menge umwandeln Allgemeine Java-Themen 4
D Array oder Vector in Enum Deklarieren Allgemeine Java-Themen 3
J Erweiterte For-Schleife mit Vector Allgemeine Java-Themen 5
G JComponent in Vector - wie klonen? Allgemeine Java-Themen 7
V Performancefrage int-Vector/Stack Allgemeine Java-Themen 10
N HashMap<String,Vector<String>> a = new HashMap<String,Vector<String>>(); Allgemeine Java-Themen 4
H GUI: RectangleDrawer - zu viele Elemente im Vector für die paint-Methode Allgemeine Java-Themen 6
S JList in Vector Allgemeine Java-Themen 3
I Vector mit Objekten sortieren,Videos mit JMF wiedergeben Allgemeine Java-Themen 6
MQue Vector<..> nicht verwenden Allgemeine Java-Themen 4
H Vector<Character> zu char[] castern Allgemeine Java-Themen 2
Spot84 Vector nach Ressourcetyp sortieren Allgemeine Java-Themen 4
M get Funktion von Vector Allgemeine Java-Themen 4
N wie greife ich auf hashmap in vector zu Allgemeine Java-Themen 9
V NullPointerException bei Vector Allgemeine Java-Themen 2
E einfache Frage zu Vector Allgemeine Java-Themen 8
K Serialisierung von Hashmap in Vector Allgemeine Java-Themen 3
G Vector beim Initialisieren befüllen Allgemeine Java-Themen 4
G Vector addAll Allgemeine Java-Themen 5
B sorteiren von Datein nach Zeitstempel in einem Vector Allgemeine Java-Themen 5
W [solved] Vector sortieren (Collection / Comparable?) Allgemeine Java-Themen 7
MQue Vector Allgemeine Java-Themen 7
F Vector in eine Datenbank speichern? Allgemeine Java-Themen 3
P Vector auf JTree Allgemeine Java-Themen 6
P dynamisches Array / Vector Allgemeine Java-Themen 2
P JTable/Vector Allgemeine Java-Themen 5
T Vector und remove? Allgemeine Java-Themen 13
T Vector in JAVA ? Allgemeine Java-Themen 10
P Vector in vielen Klassen Allgemeine Java-Themen 21
MQue Vector implementieren Allgemeine Java-Themen 2
MQue Vector<State> Allgemeine Java-Themen 2
O hilfe bei Vector frage Allgemeine Java-Themen 6
F Synchronisation + Vector/ArrayList/LinkedList Allgemeine Java-Themen 7
Z Elemente in Vector nach Häufigkeit sortieren. Allgemeine Java-Themen 13
H java.util.Vector langsam ? Allgemeine Java-Themen 5
H Vector<T>[] vecs = new Vector<T>[10]; geht nicht Allgemeine Java-Themen 2
N Java API java.util.vector Allgemeine Java-Themen 3
G Vector erweitern Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben