Sobes.tech
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