Hallo,
Wenn ich mit einem Lambdaasudruck eine Liste filtern möchte, welche Variante ist dann schneller?
Nur nach meinem persönlichen Gefühl würde ich zu Variante 1 tendieren. Ich hätte da gedacht, dass es sich ein bisschen wie beim StringBuilder verhält, bei dem Variante A auch schneller, als Variante B ist:
Ich habe jetzt ein stark vereinfachtes Beispiel gewählt, natürlich könnte ich auch bspw. Personen nach Vor- und Nachname sowie Kleidergröße und IQ gleichzeitig filtern wollen...
Weiß da jemand etwas genaueres?
Wenn ich mit einem Lambdaasudruck eine Liste filtern möchte, welche Variante ist dann schneller?
Java:
List<Integer> l = new ArrayList();
//Variante 1:
l = l.stream().filter(x -> x > 20).filter(x -> x < 100).collect(Collectors.toList());
//Variante 2:
l = l.stream().filter(x -> x > 20 && x < 100).collect(Collectors.toList());
Nur nach meinem persönlichen Gefühl würde ich zu Variante 1 tendieren. Ich hätte da gedacht, dass es sich ein bisschen wie beim StringBuilder verhält, bei dem Variante A auch schneller, als Variante B ist:
Java:
StringBuilder sb = new StringBuilder();
//Variante A:
sb.append("Hallo ").append("Welt!");
//Variante B:
sb.append("Hallo " + "Welt!");
Ich habe jetzt ein stark vereinfachtes Beispiel gewählt, natürlich könnte ich auch bspw. Personen nach Vor- und Nachname sowie Kleidergröße und IQ gleichzeitig filtern wollen...
Weiß da jemand etwas genaueres?