Insbesondere habe ich TabPane und möchte wissen, ob es ein Element mit einer bestimmten ID enthält.
Also möchte ich dies mit Lambda-Ausdruck in Java tun:
boolean idExists = false;
String idToCheck = "someId";
for (Tab t : tabPane.getTabs()){
if(t.getId().equals(idToCheck)) {
idExists = true;
}
}
noneMatch
stattanyMatch
.Während die akzeptierte Antwort korrekt ist, werde ich (meiner Meinung nach) eine elegantere Version hinzufügen:
Vernachlässigen Sie nicht die Verwendung von Stream # map () , mit der die Datenstruktur vor dem Anwenden von reduziert werden kann
Predicate
.quelle
equals
. Das Beispiel hier ist zwar sehr einfach, aber ich hoffe, Sie verstehen, was ich meine.map
, es macht einen weiteren Verarbeitungsschritt, nein? Ich werde versuchen, die 2 Methoden zu vergleichen :)map
) von Natur aus faul sind . Das bedeutet, dass diegetId
Methode nicht auf jedes Element der Sammlung angewendet wird. Es ist träge , bis ausgewertetanyMatch
kehrt wahr .Für die obigen Antworten müssen Sie ein neues Stream-Objekt mallocieren.
quelle