# Manipulação de dados

Os dados em Elixir são representados por diferentes tipos de valores, como `números`, `strings`, `booleanos`, [`listas`](https://aprenda.cafecomelixir.com.br/basico/colecoes/listas), [`mapas`](https://aprenda.cafecomelixir.com.br/basico/colecoes/mapas), [`tuplas`](https://aprenda.cafecomelixir.com.br/basico/colecoes/tuplas), conjuntos, e outros. Cada tipo de dado tem suas próprias características e propriedades que podem ser utilizadas para resolver problemas específicos.

Para trabalhar com dados, existem diversas funções e módulos disponíveis, como o módulo `Enum`, o módulo `Stream`, e outros. Esses recursos fornecem ferramentas para manipular e transformar dados de maneira eficiente e concisa. Eles estão associados ao protocolo Enumerable dando a eles super poder de lidar com certos tipos de coleções. Veja mais sobre o conceito de coleções [enumeráveis](https://aprenda.cafecomelixir.com.br/conceitos/enumeraveis).

Em resumo, a manipulação de dados é uma parte essencial do desenvolvimento de software em Elixir. Com uma ampla gama de recursos e ferramentas disponíveis, você pode trabalhar com dados de várias formas e resolver problemas específicos de maneira eficiente e concisa.

Olharemos agora duas formas de manipular dados:

* [Enum](https://aprenda.cafecomelixir.com.br/conceitos/enumeraveis)
* [Stream](https://aprenda.cafecomelixir.com.br/basico/manipulacao-de-dados/stream)

Vamos nessa!
