0Pricing
Java Academy · Leçon

Opérations de plage et d’agrégation

range, sum, average, summaryStatistics

Opérations de plage et d’agrégation est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.

Générer des plages

IntStream.range(start, end) produit des entiers consécutifs de start jusqu’à end, sans inclure cette dernière valeur.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntStream.range(0, 5).forEach(System.out::println);
    }
}

rangeClosed inclut la fin

IntStream.rangeClosed(start, end) inclut la dernière valeur : rangeClosed(1, 5) produit donc les valeurs de 1 à 5.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int sum = IntStream.rangeClosed(1, 5).sum();
        System.out.println(sum);
    }
}

Remplacer les boucles indexées

Les plages remplacent élégamment les boucles for fondées sur des indices lorsqu’il faut parcourir les positions d’un tableau.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        String[] names = {"a", "b", "c"};
        IntStream.range(0, names.length)
            .forEach(i -> System.out.println(i + ": " + names[i]));
    }
}

sum

sum additionne tous les éléments et renvoie un résultat primitif.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int total = IntStream.rangeClosed(1, 100).sum();
        System.out.println(total);
    }
}

average

average renvoie un OptionalDouble, car le flux peut être vide.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        double avg = IntStream.of(2, 4, 6, 8).average().getAsDouble();
        System.out.println(avg);
    }
}

min et max

min et max renvoient OptionalInt. Utilisez getAsInt lorsque vous savez que le flux n’est pas vide.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int hi = IntStream.of(3, 9, 1, 7).max().getAsInt();
        int lo = IntStream.of(3, 9, 1, 7).min().getAsInt();
        System.out.println(lo + " .. " + hi);
    }
}

Nombre

count renvoie le nombre d’éléments sous la forme d’un long.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        long n = IntStream.rangeClosed(1, 50).filter(x -> x % 3 == 0).count();
        System.out.println(n);
    }
}

summaryStatistics

summaryStatistics calcule le nombre d’éléments, la somme, le minimum, la moyenne et le maximum en un seul parcours, puis renvoie un IntSummaryStatistics.

import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntSummaryStatistics stats = IntStream.of(5, 10, 15, 20).summaryStatistics();
        System.out.println(stats);
    }
}

Lire les statistiques individuelles

L’objet récapitulatif expose getCount, getSum, getMin, getMax et getAverage.

import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntSummaryStatistics s = IntStream.rangeClosed(1, 10).summaryStatistics();
        System.out.println("count=" + s.getCount());
        System.out.println("avg=" + s.getAverage());
        System.out.println("max=" + s.getMax());
    }
}

Combiner une plage et un agrégat

Les plages et les agrégats se composent naturellement : générez, transformez, puis réduisez pour obtenir un nombre unique.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int sumOfSquares = IntStream.rangeClosed(1, 4)
            .map(n -> n * n)
            .sum();
        System.out.println(sumOfSquares);
    }
}

Agrégats de LongStream

LongStream offre les mêmes méthodes de plage et d’agrégation, en renvoyant un LongSummaryStatistics.

import java.util.stream.LongStream;

public class Main {
    public static void main(String[] args) {
        long sum = LongStream.rangeClosed(1, 1000).sum();
        System.out.println(sum);
    }
}

Vérification rapide

Quelle est la différence entre range et rangeClosed ?

Récapitulatif

Vous avez généré et résumé des plages de types primitifs :

  • range exclut la fin : rangeClosed l’inclut.
  • Agrégats : sum, average (OptionalDouble), min/max (OptionalInt) et count.
  • summaryStatistics les calcule tous en un seul parcours.

Questions Fréquemment Posées

La leçon « Opérations de plage et d’agrégation » est-elle gratuite ?

Oui — le texte complet de « Opérations de plage et d’agrégation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Opérations de plage et d’agrégation » ?

range, sum, average, summaryStatistics Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Java Academy ?

Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Opérations de plage et d’agrégation » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?

Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. IntStream et LongStream
  2. Opérations de plage et d’agrégation
  3. Conversion vers et depuis des flux d’objets
  4. Générer des flux de types primitifs
← Retour à Java Academy