Већина програмских језика користи низове за спремање скупа података истог типа. Један главни недостатак матрикса је тај што се, након што је декларирана величина низа, не може мијењати. Ако програмер жели похранити вредности веће од величине поља, тада би требао креирати нови низ и копирати постојеће елементе у нови низ. У тим ситуацијама се могу користити колекције. Могуће је додати елементе, избрисати елементе и многе друге операције уз подршку колекција. Постоје различите врсте колекција доступних у програмским језицима као што је Јава. Листа и сет су интерфејси хијерархије колекције. Основни интерфејс за остале интерфејсе је Цоллецтион. Тхе кључна разлика између Лист и Сет је то Листа подржава похрањивање истог елемента више пута док Сет не подржава похрањивање истог елемента више пута. Стога скуп не дозвољава дуплирање.
1. Преглед и кључне разлике
2. Шта је Листа
3. Шта је постављено
4. Сличности између листе и скупа
5. Упоредни поредак - Листа вс постављена у табеларном облику
6. Резиме
Листа је интерфејс који проширује збирку интерфејса. Постоји неколико метода у Цоллецтион интерфејсу. Метода додавања помаже да се дода елемент. 'Метода уклањања' је уклањање елемента. Постоји "аддАлл метода" за додавање више елемената док "ремовеАлл метода" за уклањање елемената из колекције. Метода садржи помаже да се утврди да ли је одређени објект присутан у Листи или не. 'Садржи све' је да ли је скуп објеката присутан у колекцији. Метода итератора користи се за кретање кроз ставке листе. Како Лист проширује збирку, све методе прикупљања припадају Листу. Поред ових метода, Листа има методе попут гет анд сет. Програмер може добити вредност на одређеном индексу помоћу методе гет. Програмер може поставити вредност на одређеном индексу користећи постављену методу. 'ИндекОф' се користи за проналажење индекса елемента.
На Листи, операције се могу изводити према положају. Програмер може пружити елемент података који треба додати индексу. Дакле, биће додан специфичном индексу. Ако програмер не да индекс, елемент ће бити додан на крај листе. Такође одржава уметнути ред. Ако се дода елемент 1 и дода елемент 2, тада ће елемент 1 бити испред елемента2.
Слика 01: Листа и постављање
АрраиЛист, ЛинкедЛист, Вецтор су неке класе које имплементирају Лист. У АрраиЛисту приступање елементу је брзо, али уметање и брисање је ниже. АрраиЛист није безбедан за нити. Приступање истом АрраиЛисту из више нити можда неће дати исти резултат. У ЛинкедЛисту, елементи су повезани и назад и напред. Уметање и брисање елемената користећи ЛинкедЛист је брже од АрраиЛист-а. ЛинкедЛист имплементира Лист и Куеуе, оба. Вецтор је сличан АрраиЛист-у, али је сигуран за газе јер су све методе синхронизоване.
Сет је интерфејс који проширује збирку интерфејса. Како Сет интерфејс проширује Цоллецтион, све методе прикупљања такође припадају Сету. Скуп не подржава вредности дуплирања. Стога програмер не може двапут похранити исти елемент. Одржава јединствени скуп елемената. Интерфејс СортедСет проширује Сет интерфејс. СортедСет одржава елементе у сортираном редослиједу. Интерфејс НавигаблеСет проширује СортедСет. НавигаблеСет пружа методе навигације као што су доњи, под, плафон итд.
ХасхСет, ЛинкедХасхСет и ТрееСет су неке класе које имплементирају Сет интерфејс. Тхе ХасхСет реализује Сет интерфејс. Не одржава уметнути ред. Ако су вредности уметнуте као а, к, б, оне се могу чувати као, к, а, б. Тхе ЛинкедСет одржава убачени ред. Ако су елементи убачени у а, к, б редоследу, редослед складиштења ће бити а, к, б. Тхе ТрееСет имплементира Сет и НавигаблеСет. Не одржава редослед уметања, већ елементе чува у пореданим редоследом. Ако је уметнути редослед а, ц, б, елементи ће бити сачувани као а, б, ц. Сви ХасхСет, ЛинкедХасхСет и ТрееСет неће имати дуплиране елементе.
Лист вс Сет | |
Листа интерфејса је под интерфејс колекције који садржи методе за обављање операција попут уметања, брисања на основу индекса. | Сет Интерфаце је помоћни интерфејс колекције који садржи методе за обављање операција попут уметања, брисања елемената уз одржавање јединствених елемената. |
Часови | |
АрраиЛист, Вецтор и ЛинкедЛист су класе које имплементирају Лист интерфејс. | ХасхСет, ЛинкедХасхСет и ТрееСет су класе које имплементирају Сет интерфејс. |
Умножавање елемената | |
Листа подржава дуплирање елемената. | Сет не подржава дуплирање елемената. Елементи су јединствени. |
Збирке се користе за динамичко чување елемената. Програмски језици, као што је Јава, нуде интерфејс колекције. Листа и сет су два интерфејса која припадају сучељу колекције. Оба интерфејса продужавају Цоллецтион. Овај чланак говори о разлици између листе и скупа. Кључна разлика између листе и скупа је што листа подржава похрањивање истог елемента више пута док Сет не подржава похрањивање истог елемента више пута. Сет увек одржава јединствене елементе.
1.Поинт, Туториалс. „Колекције Јава.“, Туториалс Поинт, 8. јануара 2018. Доступно овде