Senior
Вазифа: ду рӯйхат дода шудааст, унсурҳои рӯйхати аввалро нишон диҳед, ки дар рӯйхати дуввум нестанд. Ҳалли Java нависед.
sobes.tech AI
Ҷавоб аз AI
Для решения задачи можно использовать коллекцию HashSet для быстрого поиска элементов второго списка и затем фильтровать первый список. Вот пример на Java:
import java.util.*;
public class ListDifference {
public static <T> List<T> difference(List<T> list1, List<T> list2) {
Set<T> set2 = new HashSet<>(list2);
List<T> result = new ArrayList<>();
for (T item : list1) {
if (!set2.contains(item)) {
result.add(item);
}
}
return result;
}
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(3, 4, 6);
List<Integer> diff = difference(list1, list2);
System.out.println(diff); // Выведет [1, 2, 5]
}
}
Такой подход эффективен по времени, так как поиск во множестве происходит за O(1) в среднем.