Rozdiel medzi zoznamom a sadou

Kľúčový rozdiel - Zoznam vs sada
 

Väčšina programovacích jazykov používa polia na ukladanie sady údajov rovnakého typu. Jednou z hlavných nevýhod polí je, že akonáhle je deklarovaná veľkosť poľa, nie je možné ju modifikovať. 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. Je možné pridávať prvky, odstraňovať prvky a mnoho ďalších operácií s podporou kolekcií. V programovacích jazykoch, ako je Java, sú k dispozícii rôzne typy kolekcií. Zoznam a množina sú rozhrania hierarchie zbierok. Základným rozhraním pre iné rozhrania je Zbierka. kľúčový rozdiel medzi List a Set je to Zoznam podporuje ukladanie toho istého prvku viackrát, zatiaľ čo sada nepodporuje ukladanie toho istého prvku viackrát. Preto sada neumožňuje duplikáciu.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je zoznam
3. Čo je to Set
4. Podobnosti medzi zoznamom a sadou
5. Porovnanie vedľa seba - Zoznam verzií v tabuľkovej forme
6. Zhrnutie

Čo je zoznam?

Zoznam predstavuje rozhranie, ktoré rozširuje rozhranie Zbierka. V rozhraní kolekcie je množstvo metód. Metóda pridania 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 zo zbierky. Metóda obsahuje pomáha zistiť, či je konkrétny objekt v zozname alebo nie. „Obsahuje všetko“ je zistiť, či je v kolekcii prítomná množina objektov. Metóda iterátora sa používa na prepínanie medzi položkami zoznamu. Keď zoznam rozširuje zbierku, všetky metódy zhromažďovania patria do zoznamu. Zoznam okrem týchto metód obsahuje aj metódy ako get a set. Programátor môže získať hodnotu v konkrétnom indexe pomocou metódy get. Programátor môže nastaviť hodnotu na špecifický index pomocou metódy set. 'IndexOf' sa používa na nájdenie indexu prvku.

V zozname je možné operácie vykonať podľa polohy. Programátor môže poskytnúť dátový prvok, ktorý sa má pridať do indexu. Bude teda pridaná do špecifického indexu. Ak programátor nedá index, prvok sa pridá na koniec zoznamu. Zachová aj zadané poradie. Ak sa pridá prvok 1 a potom sa pridá prvok 2, bude prvok 1 pred prvkom 2.

Obrázok 01: Zoznam a množina

ArrayList, LinkedList, Vector sú niektoré triedy, ktoré implementujú zoznam. V ArrayListe 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 ArrayListu z viacerých vlákien nemusí viesť k rovnakému výsledku. V Prepojenom zozname sú prvky prepojené dozadu aj dopredu. Vkladanie a mazanie prvkov pomocou prepojeného zoznamu je rýchlejšie ako zoznam polí. Prepojený zoznam implementuje zoznam aj front. Vektor je podobný ArrayListu, je však bezpečný, pretože všetky metódy sú synchronizované.

Čo je to Set?

Set je rozhranie, ktoré rozširuje rozhranie Collection. Pretože rozhranie Set rozširuje kolekciu, všetky metódy kolekcie tiež patria do sady. Sada nepodporuje hodnoty duplikácie. Programátor preto nemôže ten istý prvok uložiť dvakrát. Udržuje jedinečnú skupinu prvkov. Rozhranie SortedSet rozširuje rozhranie Set. SortedSet udržuje prvky v zoradenom poradí. Rozhranie NavigableSet rozširuje SortedSet. NavigableSet poskytuje navigačné metódy, ako sú spodné, podlahové, stropné atď.

HashSet, LinkedHashSet a TreeSet sú niektoré triedy, ktoré implementujú rozhranie Set. HashSet implementuje nastavenie rozhrania. Nezachováva vložený príkaz. Ak sú hodnoty vložené ako a, x, b, môžu sa uložiť ako, x, a, b. LinkedSet udržuje zadané poradie. Ak sú prvky vložené v poradí a, x, b, poradie ukladania bude a, x, b. TreeSet implementuje Set a NavigableSet. Nezachová poradie vkladania, ale ukladá prvky v zoradenom poradí. Ak je vložený príkaz a, c, b, prvky sa uložia ako a, b, c. Všetky HashSet, LinkedHashSet a TreeSet nebudú mať žiadne duplicitné prvky.

Aké sú podobnosti medzi zoznamom a sadou?

  • Rozhrania List aj Set rozširujú rozhranie Collection.
  • Zoznam aj množina podporných operácií, ako je pridávanie, odstraňovanie prvkov.

Aký je rozdiel medzi zoznamom a množinou?

Zoznam vs Set

Rozhranie zoznamu je vedľajšie rozhranie kolekcie, ktoré obsahuje metódy na vykonávanie operácií, ako je vloženie, odstránenie na základe indexu. Nastaviť rozhranie je vedľajšie rozhranie kolekcie, ktoré obsahuje metódy na vykonávanie operácií, ako sú vloženie, odstránenie prvkov pri zachovaní jedinečných prvkov.
 vyučovanie
ArrayList, Vector a LinkedList sú triedy, ktoré implementujú rozhranie List. HashSet, LinkedHashSet a TreeSet sú triedy, ktoré implementujú rozhranie Set.
Duplikácia prvku
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. Rozhranie kolekcie poskytuje programovacie jazyky, napríklad Java. Zoznam a množina sú dve rozhrania, ktoré patria do rozhrania kolekcie. Obidve rozhrania rozširujú kolekciu. V tomto článku sa diskutuje o rozdieloch medzi zoznamom a množinou. Kľúčový rozdiel medzi zoznamom a sadou je ten, že zoznam podporuje ukladanie toho istého prvku viackrát, zatiaľ čo množina nepodporuje ukladanie toho istého prvku viackrát. Sada vždy udržuje jedinečné prvky.

referencie:

1.Point, Návody. „Zbierka Java.“, Tutorials Point, 8. januára 2018. K dispozícii tu