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にくる。
<>で囲んだ部分はジェネリクス。右辺の<>内は書く必要がない。