Galvenā atšķirība - saraksts vs kopa
Lielākā daļa programmēšanas valodu izmanto masīvus, lai glabātu tāda paša veida datus. Viens no galvenajiem masīvu trūkumiem ir tāds, ka pēc masīva lieluma paziņošanas to nevar mainīt. Ja programmētājs vēlas saglabāt vērtības, kas pārsniedz masīva lielumu, viņam vajadzētu izveidot jaunu masīvu un nokopēt esošos elementus jaunajā masīvā. Šādās situācijās var izmantot kolekcijas. Ar kolekciju atbalstu ir iespējams pievienot elementus, dzēst elementus un daudzas citas darbības. Programmēšanas valodās, piemēram, Java, ir pieejami dažādi kolekciju veidi. Saraksts un kopa ir kolekciju hierarhijas saskarnes. Bāzes interfeiss citām saskarnēm ir Collection. Galvenā atšķirība starp sarakstu un kopu ir tāda, ka saraksts atbalsta viena un tā paša elementa glabāšanu vairākas reizes, savukārt kopa neatbalsta viena un tā paša elementa glabāšanu vairākas reizes. Tāpēca kopa nepieļauj dublēšanu.
SATURS
1. Pārskats un galvenās atšķirības
2. Kas ir saraksts
3. Kas ir iestatīts
4. Saraksta un kopas līdzības
5. Blakus salīdzinājums - saraksts vs iestatīts tabulas formā
6. Kopsavilkums
Kas ir saraksts?
Saraksts ir interfeiss, kas paplašina kolekcijas saskarni. Kolekcijas saskarnē ir vairākas metodes. Pievienošanas metode palīdz pievienot elementu. “Noņemšanas metode” ir elementa noņemšana. Vairāku elementu pievienošanai ir “addAll method”, savukārt elementu noņemšanai no kolekcijas “removeAll method”. Metode satur palīdz atrast, vai sarakstā ir vai nav konkrēts objekts. 'SaturAll' ir jānoskaidro, vai kolekcijā ir objektu kopa. Iteratora metodi izmanto, lai pārvietotos pa saraksta vienumiem. Sarakstam paplašinot kolekciju, visas kolekcijas metodes pieder sarakstam. Izņemot šīs metodes, sarakstā ir tādas metodes kā get and set. Programmētājs var iegūt vērtību noteiktā indeksā, izmantojot get metodi. Programmētājs var iestatīt vērtību konkrētā indeksā, izmantojot iestatīto metodi.'IndexOf' tiek izmantots, lai atrastu elementa indeksu.
Sarakstā darbības var veikt atbilstoši pozīcijai. Programmētājs var nodrošināt datu elementu, kas jāpievieno indeksam. Tātad tas tiks pievienots konkrētajam indeksam. Ja programmētājs nedod indeksu, elements tiks pievienots saraksta beigām. Tas arī uztur ievietoto kārtību. Ja tiek pievienots elements 1 un pēc tam elements2, tad elements1 būs pirms elementa2.
01. attēls: saraksts un kopa
ArrayList, LinkedList, Vector ir dažas klases, kas ievieš sarakstu. ArrayList piekļuve elementam ir ātra, bet ievietošana un dzēšana ir zemāka. ArrayList nav drošs ar diegu. Piekļuve tam pašam ArrayList no vairākiem pavedieniem var nedot tādu pašu rezultātu. LinkedList elementi ir saistīti gan ar atpakaļ, gan uz priekšu. Elementu ievietošana un dzēšana, izmantojot LinkedList, notiek ātrāk nekā ArrayList. LinkedList īsteno gan sarakstu, gan rindu. Vektors ir līdzīgs ArrayList, taču tas ir drošs ar protektoru, jo visas metodes ir sinhronizētas.
Kas ir iestatīts?
Komplekts ir interfeiss, kas paplašina kolekcijas saskarni. Tā kā kopas interfeiss paplašina kolekciju, visas kolekcijas metodes pieder arī kopai. Komplekts neatbalsta dublēšanās vērtības. Tāpēc programmētājs nevar vienu un to pašu elementu saglabāt divreiz. Tas uztur unikālu elementu kopumu. SortedSet interfeiss paplašina interfeisu Set. SortedSet uztur elementus sakārtotā secībā. NavigableSet interfeiss paplašina SortedSet. NavigableSet nodrošina tādas navigācijas metodes kā apakšējā, grīda, griesti utt.
HashSet, LinkedHashSet un TreeSet ir dažas klases, kas ievieš saskarni Set. HashSet ievieš Set saskarni. Tas neuztur ievietoto secību. Ja vērtības tiek ievietotas kā a, x, b, tās var saglabāt kā x, a, b. LinkedSet uztur ievietoto secību. Ja elementi tiek ievietoti a, x, b secībā, glabāšanas secība būs a, x, b. TreeSet ievieš Set un NavigableSet. Tas neuztur ievietošanas kārtību, bet elementus saglabā sakārtotajā secībā. Ja ievietotais pasūtījums ir a, c, b, tad elementi tiks saglabāti kā a, b, c. Visiem HashSet, LinkedHashSet un TreeSet elementiem nebūs dublikātu.
Kādas ir saraksta un kopas līdzības?
- Gan saraksta, gan iestatīšanas saskarnes paplašina kolekcijas saskarni.
- Gan saraksts, gan iestatīšana atbalsta darbības, piemēram, elementu pievienošana, noņemšana.
Kāda ir atšķirība starp sarakstu un kopu?
Saraksts vs iestatīts |
|
Saraksta saskarne ir kolekcijas apakš saskarne, kas satur metodes, lai veiktu tādas darbības kā ievietošana, dzēšana, pamatojoties uz indeksu. | Set Interface ir kolekcijas apakš saskarne, kas satur metodes, lai veiktu tādas darbības kā elementu ievietošana, dzēšana, saglabājot unikālos elementus. |
Klases | |
ArrayList, Vector un LinkedList ir klases, kas ievieš saraksta saskarni. | HashSet, LinkedHashSet un TreeSet ir klases, kas ievieš Set saskarni. |
Elementu dublēšana | |
Saraksts atbalsta elementu dublēšanu. | Komplekts neatbalsta elementu dublēšanu. Elementi ir unikāli. |
Kopsavilkums - saraksts vs kopa
Kolekcijas tiek izmantotas, lai dinamiski uzglabātu elementus. Programmēšanas valodas, piemēram, Java, nodrošina kolekcijas saskarni. Saraksts un kopa ir divas saskarnes, kas pieder kolekcijas saskarnei. Abas saskarnes paplašina kolekciju. Šajā rakstā tika apspriesta atšķirība starp sarakstu un kopu. Galvenā atšķirība starp sarakstu un kopu ir tāda, ka saraksts atbalsta viena un tā paša elementa glabāšanu vairākas reizes, savukārt kopa neatbalsta viena un tā paša elementa vairāku laiku glabāšanu. Komplekts vienmēr uztur unikālus elementus.