Учитывая String s
и char c
, мне любопытно, существует ли какой-либо метод создания List<Integer> list
из s
(где элементы в list
представляют индексы c
в s
).
Близким, но неправильным подходом было бы:
public static List<Integer> getIndexList(String s, char c) {
return s.chars()
.mapToObj(i -> (char) i)
.filter(ch -> ch == c)
.map(s::indexOf) // Will obviously return the first index every time.
.collect(Collectors.toList());
}
Следующие входы должны давать следующий результат:
getIndexList("Hello world!", 'l') -> [2, 3, 9]