Rozdiel Medzi Poľami A Poľami

Rozdiel Medzi Poľami A Poľami
Rozdiel Medzi Poľami A Poľami

Video: Rozdiel Medzi Poľami A Poľami

Video: Rozdiel Medzi Poľami A Poľami
Video: Жизнь после смерти | НОВАЯ ПЕРЕДАЧА 2024, Apríl
Anonim

Polia vs polia

Polia sú najbežnejšie používanou dátovou štruktúrou na ukladanie kolekcie prvkov. Väčšina programovacích jazykov poskytuje metódy na ľahké deklarovanie polí a prístup k prvkom v poliach. Na zoznam polí sa dá pozerať ako na dynamické pole, ktoré môže rásť. Z tohto dôvodu programátorka nemusí poznať veľkosť poľa, keď ho definuje.

Čo sú to polia?

Na obrázku 1 je kúsok kódu, ktorý sa zvyčajne používa na deklaráciu a priradenie hodnôt k poľu. Obrázok 2 zobrazuje, ako by vyzeralo pole v pamäti.

hodnoty [0] = 100;

hodnoty [1] = 101;

hodnoty [2] = 102;

hodnoty [3] = 103;

hodnoty [4] = 104;

Obrázok 1: Kód na vyhlásenie a priradenie hodnôt k poľu

100 101 102 103 104 Register: 0 1 2 3 4

Obrázok 2: Pole uložené v pamäti

Nad kódom definuje pole, ktoré dokáže uložiť 5 celých čísel a je k nim prístup pomocou indexov 0 až 4. Jednou z dôležitých vlastností poľa je, že celé pole je alokované ako jeden blok pamäte a každý prvok v ňom získa svoj vlastný priestor.. Po definovaní poľa je jeho veľkosť pevná. Takže ak si nie ste istí veľkosťou poľa v čase kompilácie, museli by ste definovať dostatočne veľké pole, aby ste boli na bezpečnej strane. Ale vo väčšine prípadov skutočne použijeme menší počet prvkov, ako sme pridelili. Takže značné množstvo pamäte je skutočne zbytočné. Na druhej strane, ak „dostatočne veľké pole“nie je skutočne dosť veľké, program by zlyhal.

Čo sú to zoznamy polí?

Na zoznam polí sa dá pozerať ako na dynamické pole, ktoré môže rásť. Arraylisty sú preto ideálne na použitie v situáciách, keď neviete veľkosť prvkov požadovaných v čase deklarácie. V Jave môžu zoznamy polí obsahovať iba objekty, primitívne typy nemôžu obsahovať priamo (primitívne typy môžete vložiť do objektu alebo použiť triedy obáliek primitívnych typov). Zoznamy polí sú všeobecne poskytované metódami na vkladanie, mazanie a vyhľadávanie. Časová zložitosť prístupu k prvku je o (1), zatiaľ čo vkladanie a mazanie má časovú zložitosť o (n). V Jave je možné prechádzať zoznamy polí pomocou foreach slučiek, iterátorov alebo jednoducho pomocou indexov.

Aký je rozdiel medzi poľami a poľami

Aj keď sú polia a zoznamy polí podobné v tom zmysle, že sa obidve používajú na ukladanie kolekcií prvkov, líšia sa v definovaní. Keď je pole definované, musí sa uviesť jeho veľkosť, ale môžete definovať zoznam polí bez toho, aby ste poznali skutočnú veľkosť. Prvky môžete do zoznamu pridať po jeho definovaní, čo však nie je možné v prípade polí. Ale v Jave nemôžu arraylisty obsahovať primitívne typy, ale na držanie primitívnych typov sa dajú použiť polia. Ale ak potrebujete dátovú štruktúru, ktorá môže meniť svoju veľkosť, najlepším výberom by bol arraylist.

Odporúčaná: