Lucrul cu colecții (limbaje de programare

Scopul laboratorului este de a studia principalele clase, concepute pentru a lucra cu colecții, precum și abilități practice de elaborare a algoritmilor folosindu-le.

Durată de funcționare - 4 ore.

2. TEORIA

Matricele pot fi folosite pentru a stoca date omogene. Dezavantajul utilizării unei matrice este faptul că numărul de elemente de matrice este montat rigid cu alocarea de memorie pentru matrice. Prin urmare, în cazul în care pentru problema trebuie să modificați dinamic numărul de elemente trebuie să utilizați colecțiile.

cursuri de bază pentru lucrul cu colecții, sunt în System.Collections spațiu de nume. clase de colectare generice sunt în spațiul de nume System.Collections.Generic. colecții de clase sunt concepute pentru a lucra cu datele tastate sunt în spațiul de nume

Tabel. 1 prezintă clasele de colectare și funcții.

Considerăm în detaliu caracteristicile următoare clasificărilor

ei înșiși: ArrayList, Lista, LinkedList, coadă, grămadă. Sledu-

remarcat faptul că clasele ArrayList, Lista disponibil într-o aplicație consolă, și clase de LinkedList, coadă, grămadă în revendicărilor anexate

zheniyah «Windows Forms».

2.1. Lucrul cu liste (ArrayList, Lista )

Pentru a lucra cu liste, puteți utiliza clasele ArrayList și Lista. Pentru a crea o listă, trebuie să apelați constructorul său:

array ArrayList = new ArrayList ();

listă Lista = o nouă listă(); // specifica elementele de tipul (int)

Fiecare dintre listele are o capacitate, care se măsoară în numărul de articole și indică câte elemente se poate ține. În acest caz, capacitatea de matrice este (valoarea implicită) zero. Atunci când adaugă la o listă cu o capacitate de celule devine patru elemente. Când adăugați o capacitate de matrice cu 5 elemente este dublat. În plus, principiul descris este menținut.

În cazul în care numărul de elemente din listă este cunoscut, este posibil să se creeze o listă pentru a apela constructorul cu o anumită valoare capacitate:

array ArrayList = new ArrayList (10); listă Lista = o nouă listă(10);

La adăugarea unui element 11-lea în listă, acesta va fi dublat, adică numărul de elemente de exemplu ar fi egal cu 20.

De asemenea, este posibil să se schimbe capacitatea însăți folosind proprietățile de capacitate. de exemplu:

array.Capacity = 10; list.Capacity = 10;

În timpul alocării de sub lista poate popula imediat lista de valori, prin utilizarea colecțiilor de initializare:

array ArrayList = new ArrayList () <1, 5>; listă Lista = o nouă listă() <1, 5>;

Pentru a obține numărul de elemente din listă, puteți utiliza proprietatea contelui:

int lengthArray = array.Count; // lengthArray = 2 pentru exemplul precedent

int lengthList = list.Count; // lengthList = 2, pentru pri- anterioară

Sintaxa de referință la elementul i-lea al șirului: array [i]

Iată câteva dintre tehnicile de bază pentru lucrul cu clasa Lista (Tabelul. 2), care include metode implementate în ArrayList clasă și adaugă altele noi.

Tehnici de bază pentru lucrul cu Lista de clasă

bool publice Conține (element T)

listă Lista = o nouă listă(); bool b = list.Contains (3); // b = true

bool publice Exists (predicatului meci)

listă Lista = o nouă listă();

bool b = list.Exists (ISEVEN); // b = true, deoarece în lista este listat chet-

// Funcția ISEVEN cod

static bool ISEVEN (int dig)

dacă (sape% 2 == 0) return true; altfel return false;

T Găsiți publice (predicatului meci)

listă Lista = o nouă listă();

int elem = list.Find (isNegative); // elem = -2, primul număr negativ din lista lista

// Funcția de cod isNegative

static bool isNegative (dig int)