Rozdíl mezi seznamem a souborem

Obsah:

Rozdíl mezi seznamem a souborem
Rozdíl mezi seznamem a souborem

Video: Rozdíl mezi seznamem a souborem

Video: Rozdíl mezi seznamem a souborem
Video: Rozdíl mezi Microsoft SharePoint a OneDrive 2024, Červenec
Anonim

Klíčový rozdíl – seznam vs. sada

Většina programovacích jazyků používá pole k uložení sady dat stejného typu. Jednou z hlavních nevýhod polí je, že jakmile je velikost pole deklarována, nelze ji upravit. Pokud chce programátor uložit hodnoty přesahující velikost pole, pak by měl vytvořit nové pole a zkopírovat existující prvky do nového pole. V těchto situacích lze použít kolekce. S podporou kolekcí je možné přidávat prvky, mazat prvky a mnoho dalších operací. V programovacích jazycích, jako je Java, jsou k dispozici různé typy kolekcí. List a Set jsou rozhraní hierarchie kolekcí. Základním rozhraním pro ostatní rozhraní je Collection. Klíčový rozdíl mezi seznamem a sadou je v tom, že seznam podporuje vícenásobné uložení stejného prvku, zatímco sada nepodporuje vícenásobné uložení stejného prvku. Sada proto neumožňuje duplikaci.

Co je seznam?

Seznam je rozhraní, které rozšiřuje rozhraní kolekce. V rozhraní kolekce existuje řada metod. Metoda add pomáhá přidat prvek. „Metoda odstranění“spočívá v odstranění prvku. Existuje metoda „addAll“pro přidání více prvků, zatímco metoda „removeAll“pro odstranění prvků z kolekce. Metoda obsahuje pomáhá zjistit, zda je konkrétní objekt v seznamu přítomen nebo ne. ‚containsAll‘má zjistit, zda je v kolekci přítomna sada objektů. Metoda iterátoru se používá k procházení položek seznamu. Protože Seznam rozšiřuje kolekci, všechny metody kolekce patří do Seznamu. Kromě těchto metod má Seznam metody jako get a set. Programátor může získat hodnotu na konkrétním indexu pomocí metody get. Programátor může nastavit hodnotu na konkrétní index pomocí metody set. „indexOf“se používá k nalezení indexu prvku.

V seznamu lze operace provádět podle pozice. Programátor může poskytnout datový prvek, který má být přidán do indexu. Bude tedy přidán do konkrétního indexu. Pokud programátor neuvede index, bude prvek přidán na konec seznamu. Zachová také vložené pořadí. Pokud je přidán prvek 1 a poté prvek2, pak prvek1 bude před prvkem2.

Rozdíl mezi seznamem a sadou
Rozdíl mezi seznamem a sadou

Obrázek 01: Seznam a sada

ArrayList, LinkedList, Vector jsou některé třídy, které implementují seznam. V ArrayList je přístup k prvku rychlý, ale vkládání a mazání je nižší. ArrayList není bezpečný pro vlákna. Přístup ke stejnému seznamu ArrayList z více vláken nemusí poskytnout stejný výsledek. V LinkedList jsou prvky propojeny jak dozadu, tak dopředu. Vkládání a odstraňování prvků pomocí LinkedList je rychlejší než ArrayList. LinkedList implementuje seznam a frontu obojí. Vector je podobný ArrayList, ale je bezpečný, protože všechny metody jsou synchronizované.

Co je nastaveno?

Set je rozhraní, které rozšiřuje rozhraní kolekce. Protože rozhraní Set rozšiřuje kolekci, všechny metody kolekce také patří do sady. Sada nepodporuje duplicitní hodnoty. Programátor tedy nemůže uložit stejný prvek dvakrát. Zachovává jedinečný soubor prvků. Rozhraní SortedSet rozšiřuje rozhraní Set. SortedSet udržuje prvky v seřazeném pořadí. Rozhraní NavigableSet rozšiřuje SortedSet. Sada NavigableSet poskytuje navigační metody, jako je spodní, podlaha, strop atd.

HashSet, LinkedHashSet a TreeSet jsou některé třídy, které implementují rozhraní Set. HashSet implementuje rozhraní Set. Neudržuje vložené pořadí. Pokud jsou hodnoty vloženy jako a, x, b, může se uložit jako, x, a, b. LinkedSet udržuje vloženou objednávku. Pokud jsou prvky vkládány v pořadí a, x, b, pořadí uložení bude a, x, b. TreeSet implementuje Set a NavigableSet. Nezachovává pořadí vkládání, ale ukládá prvky v seřazeném pořadí. Pokud je vložená objednávka a, c, b, pak budou prvky uloženy jako a, b, c. Všechny sady HashSet, LinkedHashSet a TreeSet nebudou mít žádné duplicitní prvky.

Jaké jsou podobnosti mezi seznamem a množinou?

  • Rozhraní seznamu i nastavení rozšiřují rozhraní kolekce.
  • Podpůrné operace seznamu i nastavení, jako je přidávání a odebírání prvků.

Jaký je rozdíl mezi seznamem a sadou?

Seznam vs. Set

List Interface je dílčí rozhraní kolekce, které obsahuje metody pro provádění operací, jako je vkládání, mazání na základě indexu. Set Interface je dílčí rozhraní kolekce, které obsahuje metody pro provádění operací, jako je vkládání, odstraňování prvků při zachování jedinečných prvků.
Třídy
ArrayList, Vector a LinkedList jsou třídy, které implementují rozhraní List. HashSet, LinkedHashSet a TreeSet jsou třídy, které implementují rozhraní Set.
Duplikace prvku
Seznam podporuje duplikaci prvků. Sada nepodporuje duplikaci prvků. Prvky jsou jedinečné.

Shrnutí – seznam vs. sada

Sbírky se používají k dynamickému ukládání prvků. Rozhraní Collection poskytuje programovací jazyky, jako je Java. Seznam a sada jsou dvě rozhraní, která patří do rozhraní Collection. Obě rozhraní rozšiřují kolekci. Tento článek pojednával o rozdílu mezi seznamem a sadou. Klíčový rozdíl mezi seznamem a sadou je v tom, že seznam podporuje ukládání stejného prvku vícekrát, zatímco sada nepodporuje vícenásobné uložení stejného prvku. Sada vždy zachovává jedinečné prvky.

Doporučuje: