web_Developer_Victor
@web_Developer_Victor
Что такое google?

Как удалить из первого списка все елементы второго списка?

Например у меня есть
import java.util.LinkedList;

public class Main {
	public static void main(String[] args) {
		LinkedList<Character> first = new LinkedList<>();  // first = ['A', 'B', 'B', 'A']
		LinkedList<Character> second = new LinkedList<>();  // second = ['B', 'A']
	}
}

Мне нужно удалить все элементы из первого списка, которые есть во втором. В конце должно получиться:

first = ['A', 'B'],
second = [] или second = ['B', 'A']


Но при этом желательно не использовать цикл. Это возможно сделать или я слишком много прошу?
  • Вопрос задан
  • 323 просмотра
Решения вопроса 2
@Shiftuia
Java-программист
Вот тут немного java8, если циклы не переносите
List<String> listA = new ArrayList<String>(){{
			add("A");
			add("B");
			add("C");
			add("B");
			add("A");
		}};

		List<String> listB = new ArrayList<String>(){{
			add("A");
			add("B");
		}};

		listA.removeIf(s -> {
			if (listB.contains(s)) {
				listB.remove(s);
				return true;
			}
			return false;
		});


Результатом будет [C, B, A]
Ответ написан
Комментировать
Beshere
@Beshere
Разработчик
Без цикла невозможно.

А если и возможно, то не надо так делать - через полгода будет непонятно, что ЭТО?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы