プログラミング勉強ノート

JavaやPHPについて学んだことを書いていきます。

Java 配列とArrayList

Java SE 8

配列

配列の宣言

宣言した配列の要素数は後から変えることができない。
配列には同じデータ型の値しか入れることができない。
→インタフェースや継承によって多態性をもつ場合を除く。

//要素数3のint型配列
int[] list1 = new int[3];
int[0] = 0;
int[1] = 1;
int[2] = 2;

for(int i : list1){
	System.out.println(i);
}

//宣言時に要素を代入する
int[] list2 = {0, 1, 2, 3, 4, 5};

for(int i : list2){
	System.out.println(i);
}

文字列を配列に(split)

String data = "a,b,c,d,e,f";
String[] list = data.split(",");

配列を文字列に(join)

String[] list = {"a","b","c","d","e","f"};
String data = String.join(",", list);

配列の長さ(length)

String[] list = {"a","b","c","d","e","f"};
System.out.println(list.length);

2次元配列

//配列list1,list2,list3が存在するとき
int[][] lists = {list1, list2, list3};
//直接記述するとき
int[][] lists = {{0,1,2,3}, {4,5,6,7}, {8,9,0}};
//newで配列を作る
int[][] lists = new int[3][4];//整数配列の要素の初期値は0

//for文で出力
for(int i = 0; i < lists.length; i++){
	for(int j = 0; j < lists[i].length; j++){
		System.out.println(lists[i][j]);
	}
}
//拡張for文で出力
for(int[] list : lists){
	for(int i : list){
		System.out.println(i);
	}
}

ArrayList

ArrayListの使い方

はじめから要素数を決められない場合や、後から追加したい場合に使う。

import java.util.*

//以下main文
	ArrayList<String> team = new ArrayList<>();	//変数の宣言
	team.add("要素0");			//要素を追加
	team.add("要素1");
	team.add("要素2");
	for (String member : team){		//拡張for文はそのまま使える
		System.out.println(member);
	}
	System.out.println(team.get(1));	//要素をインデックス指定
	System.out.println(team.size());	//配列の長さ
	team.set(1,"要素1だったもの");		//要素インデックス1を更新
	team.remove(1);				//要素インデックス1を削除。
	//※削除するとインデックス2だった"要素2"がインデックス1にくる。

<>で囲んだ部分はジェネリクス。右辺の<>内は書く必要がない。