Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sjekke Strømelementer Mot en Betingelse Med allMatch() | Terminaloperasjoner i Stream API
Stream-API

bookSjekke Strømelementer Mot en Betingelse Med allMatch()

Når du arbeider med datastrømmer, er det ofte nødvendig å kontrollere om elementene oppfyller bestemte betingelser. For eksempel kan du ønske å verifisere at alle varer i en handlekurv er på lager, at minst én vare er rabattert, eller at det ikke finnes kansellerte ordre.

For å håndtere slike tilfeller tilbyr Stream API tre nyttige metoder: allMatch(), anyMatch() og noneMatch(). Disse metodene gjør det mulig å raskt kontrollere om elementene i en strøm tilfredsstiller et gitt predikat.

allMatch()-metoden

Metoden allMatch() kontrollerer om alle elementene i en strøm tilfredsstiller et gitt predikat. Hvis minst ett element ikke oppfyller betingelsen, returnerer metoden false.

boolean allMatch(Predicate<? super T> predicate)

Denne metoden tar en predikat—en funksjon som returnerer en boolean—og anvender den på hvert element i strømmen. Hvis alle elementene oppfyller betingelsen, returnerer den true; ellers returnerer den false.

Praktisk eksempel

I en nettbutikk er det gratis frakt dersom alle varer i handlekurven koster mer enn $10. Du må kontrollere om gratis frakt gjelder for den aktuelle bestillingen.

Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(15, 20, 12, 9); // Item prices boolean freeShipping = prices.stream().allMatch(price -> price > 10); if (freeShipping) { System.out.println("Free shipping applied."); } else { System.out.println("Not all items qualify for free shipping."); } } }

I denne koden oppretter du en liste med varepriser: [15, 20, 12, 9]. Metoden allMatch(price -> price > 10) sjekker om alle varer koster mer enn $10. Hvis de gjør det, vises en melding om vellykket gratis frakt; ellers vises en melding som indikerer at ikke alle varer kvalifiserer.

anyMatch()-metoden

Metoden anyMatch() sjekker om minst ett element i en stream oppfyller et gitt predikat. Hvis minst ett element oppfyller betingelsen, returnerer metoden true og stopper behandlingen.

boolean anyMatch(Predicate<? super T> predicate)

Denne metoden tar et predikat og anvender det på hvert element i strømmen. Så snart den finner et matchende element, returnerer den true og stopper utførelsen.

Praktisk eksempel

En nettbutikk tilbyr et VIP-program dersom minst ett element i handlekurven koster mer enn $500. Du må sjekke om kunden kvalifiserer for VIP-status.

Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(530, 300, 40, 120); // Item prices boolean hasExpensiveItem = prices.stream().anyMatch(price -> price > 500); if (hasExpensiveItem) { System.out.println("Customer qualifies for VIP status."); } else { System.out.println("No expensive items in the cart."); } } }

Her sjekker metoden anyMatch(price -> price > 500) om det finnes minst én vare med en pris over $500. Hvis det finnes, blir hasExpensiveItem satt til true, og en melding om kvalifisering til VIP-status skrives ut; ellers vises en melding som indikerer at det ikke finnes dyre varer i handlekurven.

noneMatch()-metoden

Metoden noneMatch() sjekker om ingen av elementene i en stream oppfyller et gitt predikat. Hvis ingen elementer oppfyller betingelsen, returnerer metoden true.

boolean noneMatch(Predicate<? super T> predicate)

Denne metoden tar et predikat og anvender det på hvert element i strømmen. Hvis ingen elementer oppfyller betingelsen, returnerer den true; ellers returnerer den false.

Praktisk eksempel

En nettbutikk tillater ikke varer med pris under null. Du må kontrollere om det finnes slike varer i handlekurven.

Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(1500, 2000, 3000, 0); // Item prices boolean noFreeItems = prices.stream().noneMatch(price -> price < 0); if (noFreeItems) { System.out.println("All items have valid prices."); } else { System.out.println("The cart contains an item with a zero price."); } } }

I dette eksempelet sjekker noneMatch(price -> price < 0) om det ikke finnes noen varer med pris under $0. Hvis alle varer har en gyldig pris, vises en melding som bekrefter dette; ellers vises en melding som indikerer at det finnes en vare med ugyldig pris.

1. Hvilken metode sjekker om minst ett element i strømmen oppfyller en betingelse?

2. Hvilken metode bør du bruke for å sikre at det ikke finnes noen verdier mindre enn null i en liste?

question mark

Hvilken metode sjekker om minst ett element i strømmen oppfyller en betingelse?

Select the correct answer

question mark

Hvilken metode bør du bruke for å sikre at det ikke finnes noen verdier mindre enn null i en liste?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 12

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.33

bookSjekke Strømelementer Mot en Betingelse Med allMatch()

Sveip for å vise menyen

Når du arbeider med datastrømmer, er det ofte nødvendig å kontrollere om elementene oppfyller bestemte betingelser. For eksempel kan du ønske å verifisere at alle varer i en handlekurv er på lager, at minst én vare er rabattert, eller at det ikke finnes kansellerte ordre.

For å håndtere slike tilfeller tilbyr Stream API tre nyttige metoder: allMatch(), anyMatch() og noneMatch(). Disse metodene gjør det mulig å raskt kontrollere om elementene i en strøm tilfredsstiller et gitt predikat.

allMatch()-metoden

Metoden allMatch() kontrollerer om alle elementene i en strøm tilfredsstiller et gitt predikat. Hvis minst ett element ikke oppfyller betingelsen, returnerer metoden false.

boolean allMatch(Predicate<? super T> predicate)

Denne metoden tar en predikat—en funksjon som returnerer en boolean—og anvender den på hvert element i strømmen. Hvis alle elementene oppfyller betingelsen, returnerer den true; ellers returnerer den false.

Praktisk eksempel

I en nettbutikk er det gratis frakt dersom alle varer i handlekurven koster mer enn $10. Du må kontrollere om gratis frakt gjelder for den aktuelle bestillingen.

Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(15, 20, 12, 9); // Item prices boolean freeShipping = prices.stream().allMatch(price -> price > 10); if (freeShipping) { System.out.println("Free shipping applied."); } else { System.out.println("Not all items qualify for free shipping."); } } }

I denne koden oppretter du en liste med varepriser: [15, 20, 12, 9]. Metoden allMatch(price -> price > 10) sjekker om alle varer koster mer enn $10. Hvis de gjør det, vises en melding om vellykket gratis frakt; ellers vises en melding som indikerer at ikke alle varer kvalifiserer.

anyMatch()-metoden

Metoden anyMatch() sjekker om minst ett element i en stream oppfyller et gitt predikat. Hvis minst ett element oppfyller betingelsen, returnerer metoden true og stopper behandlingen.

boolean anyMatch(Predicate<? super T> predicate)

Denne metoden tar et predikat og anvender det på hvert element i strømmen. Så snart den finner et matchende element, returnerer den true og stopper utførelsen.

Praktisk eksempel

En nettbutikk tilbyr et VIP-program dersom minst ett element i handlekurven koster mer enn $500. Du må sjekke om kunden kvalifiserer for VIP-status.

Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(530, 300, 40, 120); // Item prices boolean hasExpensiveItem = prices.stream().anyMatch(price -> price > 500); if (hasExpensiveItem) { System.out.println("Customer qualifies for VIP status."); } else { System.out.println("No expensive items in the cart."); } } }

Her sjekker metoden anyMatch(price -> price > 500) om det finnes minst én vare med en pris over $500. Hvis det finnes, blir hasExpensiveItem satt til true, og en melding om kvalifisering til VIP-status skrives ut; ellers vises en melding som indikerer at det ikke finnes dyre varer i handlekurven.

noneMatch()-metoden

Metoden noneMatch() sjekker om ingen av elementene i en stream oppfyller et gitt predikat. Hvis ingen elementer oppfyller betingelsen, returnerer metoden true.

boolean noneMatch(Predicate<? super T> predicate)

Denne metoden tar et predikat og anvender det på hvert element i strømmen. Hvis ingen elementer oppfyller betingelsen, returnerer den true; ellers returnerer den false.

Praktisk eksempel

En nettbutikk tillater ikke varer med pris under null. Du må kontrollere om det finnes slike varer i handlekurven.

Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(1500, 2000, 3000, 0); // Item prices boolean noFreeItems = prices.stream().noneMatch(price -> price < 0); if (noFreeItems) { System.out.println("All items have valid prices."); } else { System.out.println("The cart contains an item with a zero price."); } } }

I dette eksempelet sjekker noneMatch(price -> price < 0) om det ikke finnes noen varer med pris under $0. Hvis alle varer har en gyldig pris, vises en melding som bekrefter dette; ellers vises en melding som indikerer at det finnes en vare med ugyldig pris.

1. Hvilken metode sjekker om minst ett element i strømmen oppfyller en betingelse?

2. Hvilken metode bør du bruke for å sikre at det ikke finnes noen verdier mindre enn null i en liste?

question mark

Hvilken metode sjekker om minst ett element i strømmen oppfyller en betingelse?

Select the correct answer

question mark

Hvilken metode bør du bruke for å sikre at det ikke finnes noen verdier mindre enn null i en liste?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 12
some-alt