Junior — Middle
Tervezed a HashSet adatstruktúrát használni a nem rendezett lista ismétlődő elemeinek eltávolításának optimalizálására?
sobes.tech MI
Válasz az MI-től
Да, использование HashSet — это эффективный способ устранения дубликатов в неупорядоченном списке. HashSet хранит только уникальные элементы, и при добавлении проверяет наличие элемента за константное время в среднем.
Пример на Java:
import java.util.*;
public class RemoveDuplicates {
public static List<Integer> removeDuplicates(List<Integer> list) {
return new ArrayList<>(new HashSet<>(list));
}
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> unique = removeDuplicates(numbers);
System.out.println(unique); // Выведет уникальные элементы, порядок может быть не сохранён
}
}
Если важен порядок, можно использовать LinkedHashSet, который сохраняет порядок вставки.