Junior — Middle
Hogyan lehet eltávolítani a duplikált elemeket egy nem rendezett listából a HashSet vagy HashMap adatszerkezetek használatával az ismétlődések automatikus kiküszöbölése érdekében egyedi kulcsok segítségével?
sobes.tech MI
Válasz az MI-től
Anélkül, hogy rendezett listáról beszélnénk, a duplikált elemek eltávolításához Java-ban a HashSet vagy HashMap adatszerkezeteket használhatod, kihasználva azok egyedi kulcsok tárolására vonatkozó tulajdonságaikat.
- HashSet csak egyedi elemeket tárol. Duplikátumok hozzáadásakor automatikusan figyelmen kívül hagyja őket.
- HashMap akkor használható, ha párokat szeretnél tárolni kulcs-érték formában, ahol a kulcsok egyediek.
Példa duplikátumok eltávolítására listából HashSet segítségével:
import java.util.*;
List<String> duplikatumLista = Arrays.asList("alma", "banán", "alma", "narancs", "banán");
// HashSet létrehozása a listából — a duplikátumok automatikusan eltávolításra kerülnek
Set<String> halmaz = new HashSet<>(duplikatumLista);
// Ha duplikátummentes listára van szükséged
List<String> duplikatumMentesLista = new ArrayList<>(halmaz);
System.out.println(duplikatumMentesLista);
Ha meg akarod tartani az elemek sorrendjét, használhatod a LinkedHashSet-et:
Set<String> linkedHashSet = new LinkedHashSet<>(duplikatumLista);
List<String> sorrendbeAllitottLista = new ArrayList<>(linkedHashSet);
Így a HashSet és HashMap hatékonyan lehetővé teszi a duplikátumok eltávolítását az egyedi kulcsok tárolásával.