Exemple Complet de ‘ArraList’ en CSharp

Author:

ArrayList, Array, HashTable, BitArray
{filelink=18411}

using System;
using System.Collections;

namespace CollectionExemple
{
    class PC : IComparable
    {

        public string marque;
        public int prix;

        public PC(string marque, int prix)
        {
            this.marque = marque;
            this.prix = prix;
        }

        public override string ToString()
        {
            return "Marque:" + marque + ", Prix: " + prix+"€";
        }

        public int Compare(object lhs, object rhs)
        {
            PC lhsPC = (PC)lhs;
            PC rhsPC = (PC)rhs;
            if (lhsPC.prix < rhsPC.prix)
            {
                return -1;
            }
            else if (lhsPC.prix > rhsPC.prix)
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }

        public int CompareTo(object rhs)
        {
            return Compare(this, rhs);
        }

    }

    public class ClassePrincipale
    {

        // Cette méthode affiche le contenu d'ArrayList passée en paramètre
        public static void afficherLaListe(string nomListe, ArrayList monArrayList
        )
        {
            for (int compteur = 0; compteur < monArrayList.Count; compteur++)
            {
                Console.WriteLine(nomListe + "[" + compteur + "] = " +
                  monArrayList[compteur]);
            }
        }

        public static void Main()
        {

            // Création d'un objet ArrayList
            ArrayList arrayListPC = new ArrayList();

            // Ajouter 5 élément dans ArrayList
            PC objToshiba = new PC("Toshiba Satellite", 450);
            PC objHP = new PC("HP", 460);
            PC objSony = new PC("Sony Vaio", 600);
            PC objeBook = new PC("eBook", 800);
            PC objeSamsung = new PC("Samsung", 320);
            arrayListPC.Add(objToshiba);
            arrayListPC.Add(objHP);
            arrayListPC.Add(objSony);
            arrayListPC.Add(objeBook);
            arrayListPC.Add(objeSamsung);
            afficherLaListe("Liste Marque PC", arrayListPC);

            // Utilisation de la méthode contains
            if (arrayListPC.Contains(objHP))
            {
                Console.WriteLine("Liste Marque PC Contient:" + objHP);
                int index = arrayListPC.IndexOf(objHP);
                Console.WriteLine("son Index " + index);
            }

            // Suppression d'un élément dans ArrayList avec la méthode 'remove'
            Console.WriteLine("Suppression de l'objet: " + objeSamsung);
            arrayListPC.Remove(objeSamsung);
            afficherLaListe("La liste après supression", arrayListPC);

            // Utilisation de la méthode 'Sort()' pour trier une ArrayList
            Console.WriteLine("Tri avec la méthode Sort()");
            arrayListPC.Sort();
            afficherLaListe("Ma liste triée", arrayListPC);

            // Utilisation de la méthode 'BinarySearch()' pour le recherches binaires
            Console.WriteLine("Recherche binaire de eBook");
            int indexEBook = arrayListPC.BinarySearch(objeBook);
            Console.WriteLine("eBook trouvé à l'index: " + indexEBook);

            // Méthode 'GetRange()' pour une plage de données
            Console.WriteLine(" obténir 2 élément d'arrayList à partir d'une index");
            ArrayList nouvellArrayList = arrayListPC.GetRange(1, 2);
            afficherLaListe("NouvellArrayList", nouvellArrayList);

            // Utilisation 'Enumerator' sur ArrayList
            Console.WriteLine("Parcourir ArrayList avec Enumerator");
            IEnumerator enumeratot = arrayListPC.GetEnumerator();
            while (enumeratot.MoveNext())
            {
                Console.WriteLine("Elément: " + enumeratot.Current);
            }

            // Revenir à la position initiale de 'Enumerator'
            Console.WriteLine("Position Initiale");
            enumeratot.Reset();
            Console.WriteLine("Avancer vers l'élément suivant");
            enumeratot.MoveNext();
            Console.WriteLine("Element suivant: " + enumeratot.Current);

            // Utilisation de 'foreach' pour lister le contenu d''ArrayList'
            Console.WriteLine("Les éléments de ma listet");
            foreach (PC pc in arrayListPC)
            {
                System.Console.WriteLine("PC: " + pc);
            }

        }

    }

}

Leave a Reply

Your email address will not be published. Required fields are marked *