Rozdiel Medzi Zoznamom A Množinou

Obsah:

Rozdiel Medzi Zoznamom A Množinou
Rozdiel Medzi Zoznamom A Množinou

Video: Rozdiel Medzi Zoznamom A Množinou

Video: Rozdiel Medzi Zoznamom A Množinou
Video: ОШ8 – Информатика и рачунарство, 26. час: Основне анализе табеларно записаних података (обр. и веж.) 2024, November
Anonim

Kľúčový rozdiel - zoznam vs sada

Väčšina programovacích jazykov používa polia na ukladanie množiny údajov rovnakého typu. Jednou z hlavných nevýhod polí je, že akonáhle je deklarovaná veľkosť poľa, nemožno ju meniť. Ak chce programátor uložiť hodnoty presahujúce veľkosť poľa, mal by vytvoriť nové pole a skopírovať existujúce prvky do nového poľa. V týchto situáciách je možné použiť zbierky. S podporou kolekcií je možné pridávať prvky, mazať prvky a mnoho ďalších operácií. V programovacích jazykoch, ako je Java, sú k dispozícii rôzne typy zbierok. Zoznam a množina sú rozhraniami hierarchie zbierok. Základným rozhraním pre ďalšie rozhrania je kolekcia. Kľúčový rozdiel medzi Listom a Setom je ten, že List podporuje ukladanie toho istého prvku viackrát, zatiaľ čo Set nepodporuje ukladanie toho istého prvku viackrát. Pretoa Sada neumožňuje duplikáciu.

OBSAH

1. Prehľad a kľúčový rozdiel

2. Čo je zoznam

3. Čo je nastavený

4. Podobnosti medzi zoznamom a súborom

5. Porovnanie vedľa seba - zoznam vs nastavený vo forme tabuľky

6. Zhrnutie

Čo je zoznam?

Zoznam predstavuje rozhranie, ktoré rozširuje rozhranie Collection. V rozhraní Collection je množstvo metód. Metóda add pomáha pridať prvok. „Metóda odstránenia“je odstránenie prvku. Existuje 'metóda addAll' na pridanie viacerých prvkov, zatiaľ čo 'metóda removeAll' na odstránenie prvkov z kolekcie. Metóda contains pomáha zistiť, či je konkrétny objekt v zozname alebo nie. Parameter „containsAll“slúži na zistenie, či je v kolekcii skupina objektov. Na opakovanie položiek v zozname sa používa metóda iterátora. Keď Zoznam rozširuje Zbierku, všetky jej metódy patria do Zoznamu. Okrem týchto metód obsahuje zoznam aj metódy ako get a set. Programátor môže získať hodnotu pri konkrétnom indexe pomocou metódy get. Programátor môže pomocou nastavenej metódy nastaviť hodnotu na konkrétny index.'IndexOf' sa používa na nájdenie indexu prvku.

V zozname je možné operácie vykonávať podľa polohy. Programátor môže poskytnúť údajový prvok, ktorý sa má pridať do indexu. Bude teda pridaný do konkrétneho indexu. Ak programátor neposkytne index, prvok sa pridá na koniec zoznamu. Zachováva tiež vložené poradie. Ak sa pridá prvok 1 a potom sa pridá prvok2, potom bude prvok1 pred prvkom2.

Rozdiel medzi zoznamom a množinou
Rozdiel medzi zoznamom a množinou

Obrázok 01: Zoznam a nastavenie

ArrayList, LinkedList, Vector sú niektoré triedy, ktoré implementujú zoznam. V zozname ArrayList je prístup k prvku rýchly, ale vkladanie a mazanie je nižšie. ArrayList nie je bezpečný pre vlákna. Prístup k rovnakému zoznamu ArrayList z viacerých vlákien nemusí viesť k rovnakému výsledku. V zozname LinkedList sú prvky prepojené dozadu aj dopredu. Vkladanie a mazanie prvkov pomocou LinkedList je rýchlejšie ako ArrayList. LinkedList implementuje Zoznam a Poradie oboch. Vektor je podobný ArrayList, ale je bezpečný pre behúň, pretože všetky metódy sú synchronizované.

Čo je to Set?

Sada je rozhranie, ktoré rozširuje rozhranie kolekcie. Pretože rozhranie Set rozširuje Collection, všetky metódy Collection tiež patria do Setu. Sada nepodporuje duplicitné hodnoty. Programátor preto nemôže uložiť ten istý prvok dvakrát. Zachováva jedinečnú sadu prvkov. Rozhranie SortedSet rozširuje rozhranie Set. SortedSet udržuje prvky v zoradenom poradí. Rozhranie NavigableSet rozširuje SortedSet. Sada NavigableSet poskytuje spôsoby navigácie, ako je spodná časť, podlaha, strop atď.

HashSet, LinkedHashSet a TreeSet sú niektoré triedy, ktoré implementujú rozhranie Set. HashSet implementuje rozhranie Set. Neudržiava vložené poradie. Ak sú hodnoty vložené ako a, x, b, môže sa uložiť ako, x, a, b. Sada LinkedSet udržuje vložené poradie. Ak sú prvky vložené v poradí a, x, b, poradie ukladania bude a, x, b. TreeSet implementuje Set a NavigableSet. Neudržiava poradie vkladania, ale ukladá prvky v zoradenom poradí. Ak je vložené poradie a, c, b, potom sa prvky uložia ako a, b, c. Všetky sady HashSet, LinkedHashSet a TreeSet nebudú mať žiadne duplicitné prvky.

Aké sú podobnosti medzi zoznamom a množinou?

  • Rozhrania List aj Set rozširujú rozhranie Collection.
  • Zoznam aj Nastaviť podporujú operácie, ako je pridávanie a odstraňovanie prvkov.

Aký je rozdiel medzi zoznamom a súborom?

Zoznam vs sada

Zoznamové rozhranie je čiastkové rozhranie kolekcie, ktoré obsahuje metódy na vykonávanie operácií, ako je vkladanie a mazanie založené na indexe. Set Interface je čiastkové rozhranie kolekcie, ktoré obsahuje metódy na vykonávanie operácií ako vkladanie a mazanie prvkov pri zachovaní jedinečných prvkov.
Triedy
ArrayList, Vector a LinkedList sú triedy, ktoré implementujú rozhranie List. HashSet, LinkedHashSet a TreeSet sú triedy, ktoré implementujú rozhranie Set.
Duplikácia prvkov
Zoznam podporuje duplikáciu prvkov. Sada nepodporuje duplikáciu prvkov. Prvky sú jedinečné.

Zhrnutie - zoznam vs sada

Kolekcie sa používajú na dynamické ukladanie prvkov. Programovacie jazyky ako Java poskytujú rozhranie Collection. Zoznam a Sada sú dve rozhrania, ktoré patria do rozhrania Zbierka. Obe rozhrania rozširujú kolekciu. Tento článok pojednával o rozdieloch medzi zoznamom a sadou. Kľúčový rozdiel medzi Listom a Setom je ten, že List podporuje ukladanie toho istého prvku viackrát, zatiaľ čo Set nepodporuje ukladanie toho istého prvku viackrát. Sada vždy zachováva jedinečné prvky.

Odporúčaná: