La classe arraylist

Description

Un programma d'exemple pour vous montrer comment utiliser cette classe tres utile, qui peut remplacer les tableaux d'objets dans bien des cas ...

Source / Exemple :


using System;
using System.Collections; // CONTIENT LE CLASSE ArrayList

namespace ArrayListProject
{
	class MainClass
	{
		[STAThread]
		static void Main(string[] args)
		{
			ArrayList a = new ArrayList();
			ArrayList b = new ArrayList();

			byte mybyte = 67;
			a.Add(mybyte); // ajoute un OBJET a l'arraylist
			// etant donner que toute classe herite indirectement
			// de la classe object, il n'est pas necessaire de caster ici
			// comme ca : a.Add((object)mybyte);
			a.Add('k');

			// ajoute une arraylist a une autre
			b.AddRange(a);

			Console.Out.WriteLine("Contenu de b :");
			// on peut parcourir les elements d'une arraylist de la sorte
			foreach (object o in b)
				Console.Out.WriteLine(o.ToString());

			// verifie si une référence existe dans l'arraylist
			if (b.Contains(mybyte))
				Console.Out.WriteLine("b contient mybyte");
			if (a.Contains(mybyte))
				Console.Out.WriteLine("a contient mybyte");

			// Count est une propriété en lecture seule
			Console.Out.WriteLine("Capacity : "+b.Capacity);
			Console.Out.WriteLine("Number of elements : "+b.Count);

			Console.Out.WriteLine("Ajout de 50 elements a b");
			for (int i = 0;i<50;i++)
				b.Add(i);

			Console.Out.WriteLine("(b) Capacity : "+b.Capacity);
			Console.Out.WriteLine("(b) Number of elements : "+b.Count);
			// on demontrera ainsi que la capacité si elle n'est pas
			// spécifiée à la création de l'ArrayList prends une valeur dynamique
			// qui est le multiple de 2 le plus proche superieur au nombre d'elements
			// presents dans la liste.
			b.TrimToSize(); // si la capacité de larraylist est de 5 et qu'il y a 2 éléments
							// alors la capacité devient 2
			Console.Out.WriteLine("triming de taille");
			Console.Out.WriteLine("(b) Capacity : "+b.Capacity);
			Console.Out.WriteLine("(b) Number of elements : "+b.Count);
			
			Console.Out.WriteLine("(b) nsertion d'un element a la position 1");
			b.Insert(1,"salut les amis"); // insertion d'un element dans une arraylist

			Console.Out.WriteLine("Les 3 premiers elements de b sont :");
			for (int i=0;i<3;i++)
				Console.Out.WriteLine(b[i]);

			Console.Out.WriteLine("Insertion de a à la position 1 de b");
			b.InsertRange(1,a); // insertion d'une arraylist dans une autre
			
			Console.Out.WriteLine("Les 5 premiers elements de b sont :");
			for (int i=0;i<5;i++)
				Console.Out.WriteLine(b[i]);

			b.Reverse(); // retourne la liste

			Console.Out.WriteLine("contenu de b inversé :");
			foreach (object o in b)
				Console.Write(o.ToString()+" ");
			Console.WriteLine();
			
			Console.In.ReadLine();
		}
	}
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.