Убрать дубликаты из списка
Задан каркас метода, который должен удалить дубликаты из списка. И тест на него. Как реализовать метод?? Возможно задача простая, но в этом деле я пока новичок.
public class FullSearch {
public static HashSet<String> extractNumber(List<Task> list) {
HashSet<String> numbers = new HashSet<>();
// for-each
return numbers;
}
}
public class FullSearchTest {
@Test
public void extractNumber() {
List<Task> tasks = Arrays.asList(
new Task("1", "First desc"),
new Task("2", "Second desc"),
new Task("1", "First desc")
);
Set<String> expected = new HashSet<>(Arrays.asList("1", "2"));
assertThat(FullSearch.extractNumber(tasks), is(expected));
}
}
Ответы (2 шт):
Автор решения: am233dmg
→ Ссылка
public static HashSet<String> extractNumber(List<Task> list) {
HashSet<String> numbers = new HashSet<>();
list.stream()
.forEach(n -> numbers.add(n.getFirstVariable()));
return numbers;
}
n.getFirstVariable() здесь должно возвращаться значение поля Task-a, которое у вас указано как "1" или "2", вы не указали как называются ваши поля класса Task, поэтому назвал firstVariable
Автор решения: Олексій Моренець
→ Ссылка
public static HashSet<String> extractNumber(List<Task> list) {
HashSet<String> numbers = new HashSet<>();
// for-each
for (Task task : list) {
numbers.add(task.getNumber());
}
return numbers;
}