Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է անհատականացվող տարրերը հեռացնել անհատականացվող կոդերով HashSet կամ HashMap օգտագործելով՝ անընդհատ կրկնվող տարրերը ավտոմատ կերպով հեռացնելու համար:

sobes.tech AI

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

Java-ում անտարբեր ցուցակից կրկնվող տարրերը հեռացնելու համար, դուք կարող եք օգտվել HashSet կամ HashMap տվյալների կառուցվածքների հատկություններից՝ օգտագործելով նրանց յուրահատուկ բանալիների պահպանումը:

  • HashSet պահում է միայն յուրահատուկ տարրեր: Երբ ավելացվում են կրկնօրինակները, դրանք ավտոմատ կերպով անտեսվում են:
  • HashMap կարելի է օգտագործել, եթե անհրաժեշտ է պահել բանալին-արժեք զույգեր, որտեղ բանալիները յուրահատուկ են:

Օրինակ՝ կրկնվող տարրերը հեռացնելու համար ցուցակից՝ օգտագործելով HashSet:

import java.util.*;

List<String> կրկնվողՑուցակ = Arrays.asList("խնձոր", "բանան", "խնձոր", "նարնջի", "բանան");

// Ստեղծում ենք HashSet ցուցակից — կրկնօրինակները ավտոմատ կերպով կհեռացվեն
Set<String> հավաքածու = new HashSet<>(կրկնվողՑուցակ);

// Եթե անհրաժեշտ է ցուցակ առանց կրկնօրինակների
List<String> առանցԿրկնօրինակների = new ArrayList<>(հավաքածու);

System.out.println(առանցԿրկնօրինակների);

Եթե ուզում եք պահպանել տարրերի կարգը, կարող եք օգտագործել LinkedHashSet:

Set<String> linkedHashSet = new LinkedHashSet<>(կրկնվողՑուցակ);
List<String> կարգավորվածՑուցակ = new ArrayList<>(linkedHashSet);

Այսպիսով, HashSet և HashMap թույլ են տալիս արդյունավետ հեռացնել կրկնօրինակները՝ պահելով յուրահատուկ բանալիները։