2017-05-02 4 views
-3

Nehmen wir an, ich habe ein Array von Objekten und ich möchte eine konkrete Instanz dieses Objekts entfernen. Kann ich es so machen:Entfernen Sie konkrete Instanz aus Array-Liste

public void removeParcel(Parcel z) 
{ 
    this.parcels.remove(z); 
} 

wird es die konkrete Instanz entfernen, die ich an die Methode übergeben habe oder nur das erste Mal? Muss ich die Liste durchlaufen und alle Objekte mit denen vergleichen, die ich bestanden habe? Dank

+0

Was ist passiert, als Sie versuchten, den Code auszuführen? – UnholySheep

+0

@Ohgodspiders Ich habe ... –

+0

Also lieber als Sie testen und debuggen Sie wollen, dass wir es für Sie tun? SO funktioniert SO überhaupt nicht. – UnholySheep

Antwort

0

Nur die erste ...

sehen Sie den Code der Implementierung werden entfernt gefunden: wird

sobald ein Element fastRemove(index) gefunden wird aufgerufen und die Methode gibt true

public boolean remove(Object o) { 
    if (o == null) { 
     for (int index = 0; index < size; index++) 
      if (elementData[index] == null) { 
       fastRemove(index); 
       return true; 
      } 
    } else { 
     for (int index = 0; index < size; index++) 
      if (o.equals(elementData[index])) { 
       fastRemove(index); 
       return true; 
      } 
    } 
    return false; 
} 
Verwandte Themen