@634

配列

Advertisement

配列(Array)とは

同じ型・クラスのデータを連続して並べたもの。各中身のことを要素といい、配列の格納位置をインデックスという。

参考

配列の利用

配列の宣言

配列の宣言には[]記号を用いて次のような形式で行う
String[] str;

Cライクな記述方法も用意されている。
String str[];

配列の初期化

配列の初期化には、インスタンス生成と同じくキーワードnewを利用する。

書式
new 型[要素数]

String[] str = new String[10];
String型の10の要素をもつ配列が作成された。インデックスは0〜9となる。

値の設定

値の設定はインデックスを用いて行う。

String[] str = new String[10];
str[0] = "値";
str[2] = "値";

値の取得

インデックスを用いて値を取得する。

String value = str[0];
System.out.println(str[2]);

要素数の取得

要素数(配列の長さ)を取得するためにlengthキーワードを利用する。

String[] array = new String[5];
System.out.println(array.length);

配列の全要素に順番に処理を行うときなどに利用される。
for(int i = 0; i < array.length; i++){
    // 処理
}

アクセスできない要素

定義されている要素数を超えたインデックスで配列にアクセスしようとすると、実行時に例外が発生する。

public class Test {
        public static void main(String[] args) throws Exception{
            String[] str = new String[5];
            System.out.println(str[5]);
        }
    }

結果
java.lang.ArrayIndexOutOfBoundsException: 5
    at Test.main(Test.java:4)
Exception in thread "main"
これにより、想定外データへのアクセスがガードされるので、安全に利用することができる。

さまざまな初期化

配列には複数の初期化方法がある。

String[] str = new String[2];
各要素にはnullが格納される。

String[] str = {"1", "2"};
宣言と同時に値を設定することができる。ただし、宣言時以外でなければ使うことができない。

new String[]{"1", "2"}
かなり特殊。メソッドに引き渡す場合などに利用することができる。
System.out.println(new String[]{"1", "2"});

多重配列の利用

配列の要素が配列であるようなデータ構造を定義することができる。
これを多重配列という。

String[][] str = new String[2][3];
str[0][0] = "00";
str[0][1] = "01";
str[0][2] = "02";
str[1][0] = "10";
str[1][1] = "11";
str[1][2] = "12";

注意事項

配列は以下の値で初期化される。
初期値
オブジェクトの配列null
プリミティブ(数値)の配列0
プリミティブ(論理値)の配列false

Advertisement

ショートカット

634
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール