この記事は?
Javaを基礎から学習し直した際に、今まで理解不足だった点が多いと感じたため、後から見返せるよう学習内容をまとめたものです。
配列
同じデータ型の値をまとめて扱うもの。
以下のように用いる。
配列
// 変数宣言
int[] nums;
// インスタンス化
nums = new int[10];
// 代入
nums[0] = 10;
※上記の場合、インスタンス化の時点で各要素が初期化される。(intの場合は0で初期化される)
また、複数同時に初期化することも可能。
配列(同時初期化)
// 変数宣言
int[] nums = {10, 20, 30};
配列の要素数は以下のように取得可能。
配列(サイズ)
int length = nums.length;
javaは多次元配列もサポートしている。
初期化は以下の通り。
多次元配列
// 変数宣言
int[][] nums;
// 領域確保
nums = new int[2][3];
// 代入
nums[0][1] = 10;
// 長さ
// nums.length == 2; -> true
// nums.[0].length == 3; -> true
// サイズの異なる多次元配列も可能
int nums2;
nums2 = {
{1,2},
{1,2,3},
{1}
};
ArrayList
サイズ変更が可能な配列のようなもの。
ArrayList
import java.util.ArrayList;
/* 中略 */
// 変数宣言
ArrayList<String> strList;
// インスタンス化(下記の場合、初期状態の要素数は3。サイズ指定は無くてもいい)
strList = new ArrayList<String>(3);
// 追加
strList.add("ABC");
// 取得
strList.get(0);
// 長さ 格納した要素数は一つなため、1が返ってくる。
strList.size();
// ジェネリクスを用いた初期化
ArrayList strList2 = new ArrayList();
// コンパイルは通るが、型が異なったときエラーとなる
strList2.add("ABC");
strList2.add(1);// ←エラー
// ダイヤモンド演算子を用いた場合
ArrayList<String> strList3 = new ArrayList<>();
// Listを用いる場合
List<String> strList4 = new ArrayList<>();
※インスタンス化・追加の際に型が異なる場合はコンパイルエラーとなる。