Elenco dei numeri all'interno di un intervallo in Java

1. Panoramica

In questo tutorial, esploreremo diversi modi per elencare sequenze di numeri all'interno di un intervallo.

2. Elenco dei numeri in un intervallo

2.1. Tradizionale per Loop

Possiamo usare un tradizionale ciclo for per generare numeri in un intervallo specificato:

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

Il codice sopra genererà un elenco contenente i numeri dall'inizio (incluso) alla fine (esclusivo).

2.2. JDK 8 IntStream.range

IntStream , introdotto in JDK 8, può essere utilizzato per generare numeri in un determinato intervallo, alleviando la necessità di un ciclo for :

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

2.3. IntStream.rangeClosed

Nella sezione precedente, la fine è esclusiva. Per ottenere numeri in un intervallo in cui la fine è inclusiva, c'è IntStream.rangeClosed :

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

2.4. IntStream.iterate

Le sezioni precedenti utilizzavano un intervallo per ottenere una sequenza di numeri. Quando sappiamo quanti numeri in una sequenza sono necessari, possiamo utilizzare IntStream.iterate :

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

Qui, il parametro limit limita il numero di elementi su cui eseguire l'iterazione.

3. Conclusione

In questo articolo, abbiamo visto diversi modi per generare numeri all'interno di un intervallo.

Gli snippet di codice, come sempre, possono essere trovati su GitHub.