ArrayList~配列によるList~ ArrayListはその名の通り、配列(Array)によるListの実装です。 内部で配列を持っており、配列に対してデータの格納や参照、挿入などを行います。 そのため、ArrayListの特性を知るためには配列の特性を知る必要があります。 そもそも配列とは 配列はメモリ上に連続した領域を確保するものです。 その一番の特性は添え字による参照が高速にできることです。 領域が連続しているので、先頭アドレス、添え字、1つあたりのデータサイズさえわかれば、参照したいアドレスを以下の式で求めることができます。 ArrayListの内部処理 配列はこのように連続した領域を確保する必要があるため、本来であれば最初に決めた要素数から変更することはできません。 しかし、ArrayListでは動的に要素を追加していくことができるようになっています。 ArrayListで
![JavaでよくつかうCollection実装クラスの仕組みと特性 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b0516e75f5adaaa17643755ecc2c2151b8b7e4ef/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-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9SmF2YSVFMyU4MSVBNyVFMyU4MiU4OCVFMyU4MSU4RiVFMyU4MSVBNCVFMyU4MSU4QiVFMyU4MSU4NkNvbGxlY3Rpb24lRTUlQUUlOUYlRTglQTMlODUlRTMlODIlQUYlRTMlODMlQTklRTMlODIlQjklRTMlODElQUUlRTQlQkIlOTUlRTclQjUlODQlRTMlODElQkYlRTMlODElQTglRTclODklQjklRTYlODAlQTcmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTczN2FlODlkM2JiZGFiOTI3N2E0YzI3MzQ4NGQyZGEz%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBmcm9zdF9zdGFyJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mMjA1ZTA3YzdkMmVmNDFkMGY5MjNkY2IwNDA4MzU1Zg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D9e139caedfee94243ce842e02dc2021c)