個人的にまとめてみました。 全体像 ・ リスト [1, true, 2] ・ タプル {false, 1, "abc"} ・ キーワードリスト(上記の組み合わせ) [{:a, 1}, {:b, 2}] = [a: 1, b: 2] ・ マップ %{:a => 1, "abc" => :dog}, %{a: 1, b: 2} ・ 構造体(フィールドの存在を保証したマップ) すべてにおいて、どんな型も入れられる。 リスト [ ] [1, 2, true, "abc"] 要素の一つ一つが次の要素のアドレスを指してる 特定の要素アクセスやサイズ取得は遅い(順番にアクセスする必要があるため) 先頭に追加するのは速い [0] ++ list タプル { } {1, 2, true, "abc"} 連続したメモリに保存 特定の要素アクセスやサイズ取得が速い 要素の追加や変更は遅い(その度に新しいタプルを
![Elixirのデータ構造的なやつまとめ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2fb6d58de96f84377bd0fda97b6d77e260608123/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9RWxpeGlyJUUzJTgxJUFFJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUU2JUE3JThCJUU5JTgwJUEwJUU3JTlBJTg0JUUzJTgxJUFBJUUzJTgyJTg0JUUzJTgxJUE0JUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz05YzkyNzg5ZTMyMTg5NDM5NzgzOWYyOWJhODExMDkyMQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YWt1X29rYSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YjcwZWM2M2JlZTFiZDJjNWYxYzcyNmJhMTJhYzA1YTE%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3De1a679596c6dbb3a35c2cfd44e3e28fc)