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.