Sobes.tech
Junior — Middle

Կա արդյոք իրականացված տվյալների կառուցվածք, որը համատեղում է հեշ-թերթի և տարրերի կարգի հատկությունները?

sobes.tech AI

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

Այո, նման տվյալների կառուցվածք գոյություն ունի։ Java և Android-ում դա է LinkedHashSet դասը, որը համատեղում է հեշ-թերթի հատկությունները և պահպանում է տարրերի ավելացման կարգը։

LinkedHashSet-ը պահպանում է տարրերը որպես յուրահատուկ (ինչպես HashSet-ը) և միաժամանակ պահպանում է նրանց ավելացման կարգը, ինչը թույլ է տալիս անցնել տարրերի վրա նույն կարգով։

Օգտագործման օրինակ՝

LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");

for (String s : linkedSet) {
    System.out.println(s); // Տպում է՝ one, two, three
}

Եթե անհրաժեշտ է բնական կարգով դասավորություն, կարելի է օգտագործել TreeSet, բայց այն հիմնված չէ հեշ-թերթի վրա։