LinkedListを使ってみましょう
LinkedList<Integer> pile = new LinkedList<Integer>();
使えるメソッド
//リストの最後に、指定された要素 (ここでは 5) を追加します。 pile.add(5); //リストから最後の要素を削除して返します。 a = pile.removeLast(); //最後の要素が5だった場合、aは5になります。
クラスを作ってみる
import java.util.*; public class Bou { char name; LinkedList<Integer> pile = new LinkedList<Integer>(); public Bou(char nam,int maisuu) { name = nam; while ( maisuu >0 ){ pile.add(maisuu); maisuu--; } } public Bou(char nam) { name = nam; pile.clear(); } public String toString(){ String x = name + ":"; for ( int p : pile){ x= x + p + " "; } return x; } }
3本のBouを作る例
int maisuu = 3; Bou[] bou = { new Bou('A',maisuu), new Bou('B'), new Bou('C') };
3本のBouを作る例 その2
int maisuu = 3; Bou bouA = new Bou('A',maisuu), Bou bouB = new Bou('B'), Bou bouC = new Bou('C'),
Bouに1から5の要素を加え、その都度
System.out.println ( bou );
で確認し、
その後、後から一つずつ取り去って同様に確認するプログラムを作りなさい。
import java.util.*; public class TestBou { public static void main(String[] args){ Bou bouA = new Bou('A'); System.out.println(bouA); for(int i=1;i<=5;i++){ bouA.pile.add(i); System.out.println(bouA); } for(int i=5;i>0;i--){ int a = bouA.pile.removeLast(); System.out.println(bouA); System.out.println("a="+ a); } } }
実行結果はこうなります
A: A:1 A:1 2 A:1 2 3 A:1 2 3 4 A:1 2 3 4 5 A:1 2 3 4 a=5 A:1 2 3 a=4 A:1 2 a=3 A:1 a=2 A: a=1