Junior — Middle
Java'da Set to'plami va ArrayList to'plami implementatsiyasi qanday farq qiladi?
sobes.tech AI
AIdan javob
Java'da Set və ArrayList kolleksiyaları arasındakı əsas fərq onların davranışı və tətbiqidir:
- Set — təkrarlanan elementlərə icazə verməyən kolleksiyadır. Elementlərin sırası təmin edilmir (məsələn, HashSet-də), lakin sıralama ilə tətbiqlər də mövcuddur (TreeSet, LinkedHashSet).
- ArrayList — təkrarlanan elementlərə icazə verən və əlavə etmə sırasını saxlayan sıralı siyahıdır.
Tətbiq baxımından:
- ArrayList, elementlər əlavə edilərkən dinamik olaraq genişlənən massivə əsaslanır. İndeksə görə sürətli giriş.
- HashSet ümumiyyətlə HashMap əsasında tətbiq edilir, burada elementlər açar kimi çıxış edir. Bu, sürətli axtarış və unikalığın yoxlanmasını təmin edir.
Nümunə:
Set<String> set = new HashSet<>();
set.add("apple");
set.add("apple"); // ikinci dəfə əlavə olunmayacaq
List<String> list = new ArrayList<>();
list.add("apple");
list.add("apple"); // hər iki element əlavə olunacaq