Atšķirība starp sarakstu un kopu Java

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 14 Maijs 2024
Anonim
Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.

Saturs


List and Set interfeiss paplašina kolekciju. Abas no tām uztur elementu vai priekšmetu kolekciju. Galvenā atšķirība, kas tos atšķir viens no otra, ir saraksts, ir pasūtītu elementu kolekcija, elementi tiek pievienoti vai noņemti, vai tiem ir pieejama ar indeksa mainīgā palīdzību. No otras puses, Set ir objektu kolekcija, kurā kolekcija neļauj tajā dublēt elementus. Izmantojot salīdzināšanas diagrammu, kas parādīta zemāk, izpētīsim vēl dažas atšķirības starp saraksta un kopas saskarnēm.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsSaraksts Komplekts
PamataSaraksts uztur sarakstā saglabāto elementu secību.Komplekts īpaši neuztur ievietošanas secību, bet Linked HashSet uztur ievietošanas secību.
KopēšanaSarakstā var būt dublikātu elementi.Pievienot () metode atgriež nepatiesu, ja mēģināt ievietot dublētos elementus.
MetodesPapildus metodēm, kas definētas kolekcijā, saraksts definē dažas no savām metodēm.Komplekts nenosaka nevienu papildu metodi.
Īstenošana Sarakstu īsteno ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.Komplektu ievieš HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Saraksta definīcija

Saraksta interfeiss paplašina kolekcijas saskarni. Saraksts ir pasūtīta elementu vai objektu kolekcija. Atšķirībā no Set, sarakstā var būt dublējoši elementi. Papildus metodēm, kas noteiktas kolekciju sarakstā, tiek definētas arī dažas savas metodes, piemēram, uz indeksu balstīta get () un set () metode. No kolekcijas mantotās pievienošanas () un noņemšanas () metodes, kas pievieno vai noņem norādīto elementu no metodes argumentā norādītā indeksa. Saraksts ir sava veida masīvs, kura lielums palielinās, pievienojot sarakstam elementus.

Saraksts nenosaka nevienu metodi, kā darboties ar saraksta indeksiem. Tas definē sublist () metodi, kas atgriež sublist no noteikta diapazona sākotnējā saraksta. Izmaiņas, ko veicat apakšsarakstā, parādās arī sākotnējā sarakstā. Saraksta saskarni īsteno ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.

Komplekta definīcija

Iestatītā saskarne paplašina kolekcijas saskarni. Iestatītā saskarne ir kolekcija vai objektu grupa, kurā nav neviena objekta dublikāta. Tas nozīmē, ka divas atsauces nevar atsaukties uz vienu objektu vai viena atsauce nevar atsaukties uz diviem objektiem, vai arī nevar būt divas atsauces, kas attiecas uz nulli. Elementa secība vai secība nav svarīga Komplekts, taču nav arī tā, ka tas aizliedz pasūtīto komplektu.


Set interfeiss papildus metodei, kas definēta kolekcijā, nenosaka nevienu metodi. Tā vietā tas ierobežo kolekcijas pievienošanas () un addall () metodes, lai kolekcijai pievienotu jebkuru objekta dublikātu. Ja mēģināt pievienot jebkuru kolekcijas objekta dublikātu, izmantojot kolekcijas metodi add (), tā tiek parādīta nepatiesa. Pretējā gadījumā tā atgriežas taisnība. Komplekta interfeisu īsteno HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. Kolekcijas elementu / objekta secība tiek uzturēta sarakstā, turpretī Set neuztur elementu secību, bet ir izņēmums, ka LinkedHashSet uztur ievietošanas secību.
  2. Sarakstam var būt dublikātu elementi, jo tas identificē jebkuru elementu ar tā indeksu, bet komplekts neatļauj nevienu elementu dublēšanos, jo tam nav indeksa veida elementa, lai identificētu jebkuru kolekcijas objektu.
  3. Saraksts nosaka dažas metodes patstāvīgi, papildus metodēm, kas definētas kolekcijā. No otras puses, kopa nedefinē nevienu no savām metodēm, bet ierobežo kolekcijas metodes, lai pievienotu visus dublētos elementus.
  4. Sarakstu īsteno ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack saskarnes. No otras puses, komplektu īsteno interfeisi HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

Secinājums:

Saraksta un kopas saskarnes izmantošana ir atkarīga no prasības. Ja ir svarīga objektu / elementu secība, jums jāizmanto saraksta saskarne. Ja kolekcijā nav nepieciešami dublējoši elementi, jums jāizmanto interfeiss Set