Skip to Content
Penser Java, 2e édition
book

Penser Java, 2e édition

by Allen Downey, Chris Mayfield
November 2024
Intermediate to advanced
326 pages
7h 36m
French
O'Reilly Media, Inc.
Book available
Content preview from Penser Java, 2e édition

Chapitre 7. Tableaux et références

Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com

Jusqu'à présent, les seules variables que nous avons utilisées concernaient des valeurs individuelles telles que des nombres ou des chaînes de caractères. Dans ce chapitre, tu apprendras à stocker plusieurs valeurs du même type en utilisant une seule variable. Cette caractéristique du langage te permettra d'écrire des programmes qui manipulent de plus grandes quantités de données.

Par exemple, l'exercice 6-5 te demandait de vérifier si chaque lettre d'une chaîne de caractères apparaissait exactement deux fois. Un algorithme (que tu as peut-être déjà découvert) parcourt la chaîne 26 fois, une fois pour chaque lettre minuscule :

// outer loop: for each lowercase letter
for (char c = 'a'; c <= 'z'; c++) {
    // inner loop: count how many times the letter appears
    for (int i = 0; i < str.length(); i++) {
        ...
    // if the count is not 0 or 2, return false

Cette approche des boucles imbriquées est inefficace, surtout lorsque la chaîne est longue. Par exemple, il y a plus de 3 millions de caractères dans Guerre et Paix; pour traiter l'ensemble du livre, la boucle imbriquée s'exécuterait environ 80 millions de fois.

Un autre algorithme initialiserait 26 variables à zéro, bouclerait la chaîne une fois, et utiliserait une déclaration if géante pour mettre à jour la variable pour chaque lettre. Mais qui veut déclarer 26 variables ?

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Performance Java, 2ème édition

Performance Java, 2ème édition

Scott Oaks
Apprendre Java, 6e édition

Apprendre Java, 6e édition

Marc Loy, Patrick Niemeyer, Daniel Leuck
Programmer avec Java

Programmer avec Java

Benjamin Evans, David Flanagan

Publisher Resources

ISBN: 9798341610545Supplemental Content