Junior
Set дар Java чист?
sobes.tech AI
Ҷавоб аз AI
Set дар Java — ин коллексияи уникӣ аз унсурҳо мебошад, ки тартиби нигоҳдориро кафолат намекунад.
Хусусиятҳои асосӣ:
- Уникӣ: Надорад дубляжҳо. Агар кӯшиш кунед, ки унсури мавҷударо илова кунед, амалиёт нодида гирифта мешавад (ба вобаста аз татбиқ).
- Норасогии индекс: Унсурҳо ба воситаи индекс дастрас нестанд.
- Интерфейс: Бастаи Java Collections-ро ташкил медиҳад ва интерфейси
Collection-ро васеъ мекунад.
Татбиқҳои бештар истифодашаванда:
HashSet: Татбиқи зудтарин, асос ёфта дар таблицаи хеш. Рақамро дар назар надорад.LinkedHashSet: Рақамро дар назар дорад, бо истифода аз рӯйхати пайвастшуда дар канори таблицаи хеш.TreeSet: Унсурҳоро дар тартиби сортшуда нигоҳ медорад (табиӣ ё бо истифода аз муқоисакунандаи муайяншуда), асос ёфта дар дарахти сурх-каҳ.
Масалан барои истифодаи HashSet:
// Эҷоди HashSet
Set<String> номҳоиУникӣ = new HashSet<>();
// Илова кардани унсурҳо
номҳоиУникӣ.add("Alice");
номҳоиУникӣ.add("Bob");
номҳоиУникӣ.add("Alice"); // Ин унсур нодида гирифта мешавад
номҳоиУникӣ.add("Charlie");
// Санҷидани мавҷудияти унсур
boolean дорадBobe = номҳоиУникӣ.contains("Bob"); // true
// Итерировать по унсурҳо (тартиб кафолат дода намешавад)
for (String ном : номҳоиУникӣ) {
System.out.println(ном);
}
// Андозаи Set
int андоза = номҳоиУникӣ.size(); // 3