Loading ...

Google Guava: utilizzare i Range

Google Guava: utilizzare i Range

Google Guava è una libreria per Java con diverse utilità.

Oggi vediamo come usare la classe Range!

Se usate Maven aggiungete questa dipendenza:

        <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>27.0-jre</version>
        </dependency>

Questa classe ci permette di usare dei range di valori, dove per range si intende una sequenza o un intervallo.

Vediamo un esempio con un intervallo di numeri:

import com.google.common.collect.ContiguousSet;
import com.google.common.collect.DiscreteDomain;
import com.google.common.collect.Range;
import com.google.common.primitives.Ints;

public class Main {

    public static void main(String[] args) {
        Range<Integer> r1 = Range.closed(0, 13);

        for (int i : ContiguousSet.create(r1, DiscreteDomain.integers())) {
            System.out.print(i + " ");
        }
        System.out.println("");
        System.out.println("Contiene 13: " + r1.contains(13));
        System.out.println("Contiene 100: " + r1.contains(100));
        System.out.println("Contiene i valori 1,2,3: " + r1.containsAll
                (Ints.asList(1, 2, 3))
        );
        System.out.println("Valore più basso: " + r1.lowerEndpoint());
        System.out.println("Valore più alto: " + r1.upperEndpoint());
    }

}

Come vedete la classe Range ci fornisce anche diversi metodi utili!

Enjoy!