Sobes.tech
Junior — Middle

Տվյալների կառուցվածք HashSet-ը ապահովո՞ւմ է եզակի տարրերի պահպանությունը։

sobes.tech AI

Պատասխան AI-ից

Այո, Java (և Android) içindeki HashSet տվյալների կառուցվածքը ապահովում է եզակի տարրերի պահպանումը: Այն հիմնված է հեշ աղյուսակի վրա և թույլ չի տալիս կրկնօրինակներ:

Երբ դուք ավելացնում եք տարր HashSet-ին, այն ստուգում է, արդյոք այդ տարրը արդեն կա (օգտագործելով hashCode() և equals() մեթոդները): Եթե տարրը արդեն կա, ավելացումը չի կատարվում:

Օրինակ՝

HashSet<String> set = new HashSet<>();
set.add("խնձոր");
set.add("բանան");
set.add("խնձոր"); // չի ավելացվի, քանի որ "խնձոր" արդեն կա

System.out.println(set); // Ցուցադրում է [խնձոր, բանան]

Այսպիսով, HashSet-ը երաշխավորում է, որ հավաքածուում կլինեն միայն եզակի տարրեր։