Nesta aula, analisamos como realizar de forma imperativa a transformação de coleções: de
List<String> obter
List<Integer> (por exemplo, os comprimentos das strings), como extrair campos de objetos do modelo de domínio (
Product → nome/preço), como “achatar” coleções aninhadas via
addAll() ou laços aninhados, e também como combinar filtragem com transformação usando
if e métodos como
startsWith. Por fim, veremos erros típicos: modificar a coleção de origem, conversão de tipos incorreta (
ClassCastException) e questões de eficiência.