вопрос по stream

допустим имеется список

 List<String> list = Arrays.asList("add", "qwe", "add", "qwerty", "find", "qwe");

Хочу использовать фильтр по такому принципу:

list.stream().filter(x -> x.equals("add")).**то взять следующий элемент и вставить его в массив или список**

Ответы (1 шт):

Автор решения: Кирилл Малышев

Что-то вроде такого можно сделать:

List<String> list = Arrays.asList("add", "qwe", "add", "qwerty", "find", "qwe");
List<String> res = IntStream.range(0, list.size()).
        boxed().
        filter(i -> list.get(i).equals("add")).
        map(i -> list.get(i + 1)).
        collect(Collectors.toList());
System.out.println(res);
→ Ссылка