Java 8/9: ¿Se puede asignar un carácter en una cadena a sus índices (usando secuencias)?
Dado unString s
y unchar c
, Tengo curiosidad si existe algún método para producir unList<Integer> list
des
(donde los elementos dentrolist
representar los índices dec
dentros
)
Un cierre, peroincorrecto enfoque sería:
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());
}
Las siguientes entradas deberían producir la siguiente salida:
getIndexList("Hello world!", 'l') -> [2, 3, 9]