Notering av tall innenfor et område i Java

1. Oversikt

I denne opplæringen vil vi utforske forskjellige måter å liste opp sekvenser av tall innenfor et område.

2. Listing Numbers in a Range

2.1. Tradisjonell til Løkke

Vi kan bruke en tradisjonell til loop for å generere tall i et spesifisert område:

public List getNumbersInRange (int start, int end) {List result = new ArrayList (); for (int i = start; i <end; i ++) {result.add (i); } returnere resultat; }

Koden ovenfor genererer en liste som inneholder tall fra start (inkludert) til slutt (eksklusiv).

2.2. JDK 8 IntStream.range

IntStream, introdusert i JDK 8, kan brukes til å generere tall i et gitt område, og lette behovet for en til Løkke:

offentlig liste getNumbersUsingIntStreamRange (int start, int end) {return IntStream.range (start, end) .boxed () .collect (Collectors.toList ()); }

2.3. IntStream.rangeClosed

I forrige avsnitt, slutt er eksklusiv. For å få tall i et område der slutt er inkluderende, det er IntStream.rangeClosed:

offentlig liste getNumbersUsingIntStreamRangeClosed (int start, int end) {return IntStream.rangeClosed (start, end) .boxed () .collect (Collectors.toList ()); }

2.4. IntStream.iterate

De forrige delene brukte et område for å få en sekvens av tall. Når vi vet hvor mange tall i en sekvens som trengs, kan vi bruke IntStream.iterate:

offentlig liste getNumbersUsingIntStreamIterate (int start, int limit) {return IntStream.iterate (start, i -> i + 1) .limit (limit) .boxed () .collect (Collectors.toList ()); }

Her, den grense parameter begrenser antall elementer som skal gjentas over.

3. Konklusjon

I denne artikkelen så vi forskjellige måter å generere tall innenfor et område.

Kodebiter, som alltid, finnes på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found