Junior — Middle
Оё метавонед сохтори дохилии ва фаъолияти сохтори додаҳои TreeSet дар Java-ро шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Дар TreeSet дар Java — ин иҷрои интерфейси SortedSet мебошад, ки элементҳоро дар тартиби сортидашуда бо беназорат нигоҳ медорад. Дар дохили, TreeSet асос ёфтааст ба структураи маълумоти дарахти сурх-сиёҳ (Red-Black Tree), ки ба он имкон медиҳад, ки дарахт бо мувозинат бо мураккабии логарифмикӣ дар амалҳои илова кардан, хориҷ кардан ва ҷустуҷӯ таъмин карда шавад.
Мавзӯъҳои асосӣ:
- Ҳангоми илова кардани элемент, TreeSet истифода мекунад усули compareTo (агар элементҳо Comparable бошанд) ё Comparator барои муайян кардани ҷойгиршавӣ.
- Дарахти сурх-сиёҳ кафолат медиҳад, ки баландии дарахт тақрибан логарифмикӣ бо шумораи элементҳо боқӣ мемонад, ки ҷустуҷӯи самаранокро таъмин мекунад.
- TreeSet элементҳои null иҷозат намедиҳад, зеро муқоиса бо null NullPointerException-ро ба вуҷуд меорад.
Масалан истифода:
TreeSet<String> set = new TreeSet<>();
set.add("apple");
set.add("banana");
set.add("apple"); // илова намешавад, чунки такрорӣ
for (String fruit : set) {
System.out.println(fruit);
}
// Натиҷа:
apple
banana
Аз ин рӯ, TreeSet структураи қулай барои нигоҳ доштани элементҳои беназорат дар шакли сортидашуда бо дастрасӣ ва тағирот самаранок мебошад.