Exercice Java Corrigé sur les Collections – Arraylist – Partie 3

Avec des exercices corrigés en Java, vous pratiquerez divers concepts du langage de programmation Java. Vous commencerez par des exercices Java de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.

Tutoriel sur ArrayList | java
 

Exercice 1:

Terminez la méthode suivante addNegVal() pour renvoyer la somme de tous les nombres négatifs dans l’ArrayList.

Exemple:

[1, -2, 3, -4, -5, 6, 7] -> -11

Code à compléter:

import java.util.*;

public class Main
{
    public static int addNegValues(ArrayList<Integer> list)
    {
        // Compléter le code ici
    }

    public static void main(String[] args)
    {
        ArrayList<Integer> liste = new ArrayList<Integer>();
		
        liste.add(1);
        liste.add(-2);
        liste.add(3);
        liste.add(-4);
        liste.add(-5);
        liste.add(6);
        liste.add(7);
		
        System.out.println(addNegValues(liste));
    }
}
Solution:

Déclarez une variable pour garder la somme et initialisez-la à zéro. Parcourez toutes les valeurs de la liste. Si la valeur actuelle est négative (inférieure à 0), ajoutez-la à la somme s. Enfin retournez le résultat de la somme s.

import java.util.*;

public class Main
{
    public static int addNegValues(ArrayList<Integer> list)
    {
        int s = 0;
        for(Integer i: list)
        {
            if (i < 0) {
                s += i;
            }
        }
        return s;
    }

    public static void main(String[] args)
    {
        ArrayList<Integer> liste = new ArrayList<Integer>();
		
        liste.add(1);
        liste.add(-2);
        liste.add(3);
        liste.add(-4);
        liste.add(-5);
        liste.add(6);
        liste.add(7);
		
        System.out.println(addNegValues(liste));
    }
}

Sortie:

-11
 

Exercice 2:

Écrivez un programme Java pour réduire la capacité d’un ArrayList à la taille de la liste actuelle.

Solution:

import java.util.*;

public class Main {
  public static void main(String[] args) {
	  
     ArrayList<String> languages = new ArrayList<String>();
  
     languages.add("PHP");
     languages.add("Java");
     languages.add("C++");
     languages.add("Python");

     languages.trimToSize();
     System.out.println(languages);
   }
}

Sortie:

[PHP, Java, C++, Python]
 

Exercice 3:

Écrivez un programme Java pour comparer deux ArrayList. Afficher TRUE si il existe dans la première liste sinon FALSE.

Exemple:

ArrayList 1: [PHP, Java, C++, Python]
ArrayList 2: [PHP, Java, C, Python]
Résultat: [TRUE, TRUE, FALSE, TRUE]
Solution:

import java.util.*;

public class Main {
  public static void main(String[] args) {

     List<String> lang1 = new ArrayList<String>();
     lang1.add("PHP");
     lang1.add("Java");
     lang1.add("C++");
     lang1.add("Python");

     List<String> lang2 = new ArrayList<String>();
     lang2.add("PHP");
     lang2.add("Java");
     lang2.add("C");
     lang2.add("Python");

     //Stocker la comparaison dans un ArrayList
     ArrayList<String> lang3 = new ArrayList<String>();

     for (String l : lang1)
          lang3.add(lang2.contains(l) ? "TRUE" : "FALSE");

     System.out.println(lang3);
  }
}

Sortie:

[TRUE, TRUE, FALSE, TRUE]
 

Exercice 4:

Écrivez un programme Java pour permuter le 1er élément (index 0) avec le 3e élément (index 2) d’un ArrayList.

Exemple:

Avant: [PHP, Java, C++, Python]
Aprés: [C++, Java, PHP, Python]
Solution:

import java.util.*;

public class Main {
  public static void main(String[] args) {

     List<String> languages = new ArrayList<String>();
     languages.add("PHP");
     languages.add("Java");
     languages.add("C++");
     languages.add("Python");

     System.out.println("Avant: "+languages);
     Collections.swap(languages, 0, 2);
     System.out.println("Aprés: "+languages);
   }
}

Sortie:

Avant: [PHP, Java, C++, Python]
Aprés: [C++, Java, PHP, Python]
 

Exercice 5:

Terminez la méthode suivante deleteLongStrings() qui vérifie chaque élément de la liste et supprime ceux qui sont strictement supérieurs à 4 caractères.

Exemple:

[Bob, Ali, Thomas, Alex, Nermine] -> [Bob, Ali, Alex]

Code à compléter:

import java.util.*;

public class Main
{
    public static void deleteLongStrings(ArrayList<String> liste)
    {
        // Écrivez votre code ici
    }

    public static void main(String[] args)
    {
        ArrayList<String> liste = new ArrayList<String>();
        liste.add("Bob");
        liste.add("Ali");
        liste.add("Thomas");
        liste.add("Alex");
        liste.add("Nermine");

        deleteLongStrings(liste);

        System.out.println(liste);
    }
}
Solution:

Parcourez tous les éléments de la liste. À chaque itération, vérifiez si la longueur de chaque élément est strictement supérieure à 4, si c’est le cas, supprimez cet élément.

import java.util.*;

public class Main
{
    public static void deleteLongStrings(ArrayList<String> liste)
    {
        int i = 0;
        while(i < liste.size())
        {
            if (liste.get(i).length() > 4)
            {
                liste.remove(i);
            }
            i++;
        }
    }

    public static void main(String[] args)
    {
        ArrayList<String> liste = new ArrayList<String>();
        liste.add("Bob");
        liste.add("Ali");
        liste.add("Thomas");
        liste.add("Alex");
        liste.add("Nermine");

        deleteLongStrings(liste);

        System.out.println(liste);
    }
}

Sortie:

[Bob, Ali, Alex]
 

Exercice 6:

Écrivez un programme Java pour concaténer deux listes.

Sortie prévue:

Liste 1: [A, B]
Liste 2: [C, D]
Liste 3: [A, B, C, D]
Solution:

import java.util.*;

public class Main {
  public static void main(String[] args) {
	  
      ArrayList<String> liste1 = new ArrayList<String>();
      liste1.add("A");
      liste1.add("B");
      System.out.println("Liste 1: " + liste1);
		  
      ArrayList<String> liste2 = new ArrayList<String>();
      liste2.add("C");
      liste2.add("D");
      System.out.println("Liste 2: " + liste2);
         
      // Concaténer les deux listes
      ArrayList<String> liste3 = new ArrayList<String>();
      liste3.addAll(liste1);
      liste3.addAll(liste2);
      System.out.println("Liste 3: " + liste3);
  }
}

Sortie:

Liste 1: [A, B]
Liste 2: [C, D]
Liste 3: [A, B, C, D]
 

Exercice 7:

Écrivez un programme Java pour vider un ArrayList.

Sortie prévue:

Avant: [A, B, C, D]
Aprés: []
Solution:

import java.util.*;

public class Main {
  public static void main(String[] args) {
	  
      ArrayList<String> liste = new ArrayList<String>();
      liste.add("A");
      liste.add("B");
      liste.add("C");
      liste.add("D");

      System.out.println("Avant :" + liste);
      liste.removeAll(liste);
      System.out.println("Aprés :" + liste);
  }
}

Sortie:

Avant: [A, B, C, D]
Aprés: []
 

Exercice 8:

Écrivez un programme Java pour vérifier qu’un ArrayList est vide ou non.

Solution:

import java.util.*;

public class Main {
  public static void main(String[] args) {
	  
      ArrayList<String> liste = new ArrayList<String>();
      liste.add("A");
      liste.add("B");
      liste.add("C");
      liste.add("D");

      System.out.println(liste.isEmpty());  //false
      liste.removeAll(liste);
      System.out.println(liste.isEmpty());  //true
  }
}
 

Exercice 9:

Terminez la méthode findLongStr() pour rechercher et renvoyer la chaîne la plus longue dans l’ArrayList.

Exemple:

[Bob, Ali, Mélissandre, Alex, Thomas] -> Mélissandre

Code à compléter:

import java.util.*;

public class Main
{
    public static String findLongStr(ArrayList<String> liste)
    {
        // Écrivez votre code ici
    }

    public static void main(String[] args)
    {
        ArrayList<String> liste = new ArrayList<String>();
        liste.add("Bob");
        liste.add("Ali");
        liste.add("Mélissandre");
        liste.add("Alex");
        liste.add("Thomas");

        System.out.println(findLongStr(liste));
    }
}
Solution:

Déclarez une variable pour contenir la chaîne la plus longue. Initialisez-le par une chaîne vide " ". Parcourez toutes les valeurs de la liste et comparez sa longueur à la longueur la plus longue. Retournez la chaîne la plus longue.

import java.util.*;

public class Main
{
    public static String findLongStr(ArrayList<String> liste)
    {
        String longStr = "";
        for (String str: liste)
        {
            if (str.length() > longStr.length())
            {
                longStr = str;
            }
        }
        return longStr;
    }

    public static void main(String[] args)
    {
        ArrayList<String> liste = new ArrayList<String>();
        liste.add("Bob");
        liste.add("Ali");
        liste.add("Mélissandre");
        liste.add("Alex");
        liste.add("Thomas");

        System.out.println(findLongStr(liste));
    }
}

Sortie:

Mélissandre
QCM-Java

2 réflexions sur “Exercice Java Corrigé sur les Collections – Arraylist – Partie 3

  • septembre 30, 2021 à 1:34 pm
    Permalien

    Salut pouvez vous m’aider à éxécuter ce programme en java :

    Créer une méthode qui étant donné une phrase, renvoie sous forme de tableau de caractére, l’ensemble des voyelles contenue dans cette phrase

    Répondre
    • juillet 11, 2024 à 12:24 pm
      Permalien
      import java.util.ArrayList;
      
      public class Main {
      
          public static char[] extractVowels(String sentence) {
              // Définir les voyelles
              String vowels = "aeiouAEIOU";
              // Liste pour stocker les voyelles trouvées
              ArrayList vowelList = new ArrayList();
      
              // Parcourir chaque caractère de la phrase
              for (char ch : sentence.toCharArray()) {
                  // Vérifier si le caractère est une voyelle
                  if (vowels.indexOf(ch) != -1) {
                      vowelList.add(ch);
                  }
              }
      
              // Convertir la liste de voyelles en tableau de caractères
              char[] vowelArray = new char[vowelList.size()];
              for (int i = 0; i < vowelList.size(); i++) {
                  vowelArray[i] = vowelList.get(i);
              }
      
              return vowelArray;
          }
      
          public static void main(String[] args) {
              String sentence = "Bonjour, comment allez-vous ?";
              char[] vowels = extractVowels(sentence);
              
              // Afficher les voyelles extraites
              System.out.println("Voyelles extraites : ");
              for (char ch : vowels) {
                  System.out.print(ch + " ");
              }
          }
      }
      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *