2017-02-24 1 views
0

Ich weiß, dass Prädikate angeben sollen, welches Objekt von ArrayList gelöscht werden soll. Anstatt zu löschen, möchte ich diese Objekte auf null setzen.Prädikat zu setzen statt zu entfernen

Wie

arrayList.setIf (myPredicate, null); anstelle von arrayList.removeIf (meinPredikat)

Ich habe so viele Prädikate vorbereitet, damit ich es nicht verschwenden will.

+0

Sie haben es selbst zu codieren. Es existiert nicht. – Seelenvirtuose

+2

Mögliches Duplikat von [Wie wird ein Wert in einer Collection bedingt ersetzt, z. B. replaceIf (Prädikat )?] (Http://stackoverflow.com/questions/35807818/how-to-replace-a-value-conditional-in- -a-Sammlung-wie-ersetzen-repredicat) – Calculator

Antwort

0

müssen Sie Ihre eigene Logik für schreiben, dass ihr keine solche Funktionalität solches Szenario zu behandeln, aber immer noch können Sie etwas tun, wie folgt:

yourList.stream().map(y -> { 
    if (y.Something().equals("something")) 
     return y; 
     else 
      return null; 
    }).collect(toList()); 
Verwandte Themen