Javaの開発をしたことがないので、やったことをまとめていこうと思います。
基本的なことをやっていくので初心者でも出来るレベルだと思います。
コレクションクラス
[Rensyu506_01.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
// パッケージの宣言 package chapter_5_6; // インポート import java.util.ArrayList; /** * Rensyu506_01クラス(データの追加、削除より参照の方が主体) */ public class Rensyu506_01 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // フィールドの定義 ArrayList list; int i; Integer intInst; Double doubleInst; // インスタンス生成 list = new ArrayList(1); // メソッドの呼び出し list.add("文字列"); System.out.println("現在の要素数" + list.size()); // インスタンス生成 intInst = new Integer(100); // メソッドの呼び出し list.add(intInst); System.out.println("現在の要素数" + list.size()); // インスタンス生成 doubleInst = new Double(3.14); // メソッドの呼び出し list.add(doubleInst); System.out.println("現在の要素数" + list.size()); // オブジェクトを先頭から順番にArrayListクラスのget()メソッドを使用して取り出し、表示 for(i=0; i<list.size(); i++) { System.out.println(list.get(i)); } } } |
[表示結果]
1 2 3 4 5 6 |
現在の要素数1 現在の要素数2 現在の要素数3 文字列 100 3.14 |
[StackList.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// パッケージの宣言 package chapter_5_6; //インポート import java.util.LinkedList; /** * StackListクラス(データの参照より追加、削除の方が主体) */ public class StackList { LinkedList list; // コンストラクタ StackList() { list = new LinkedList(); } // pushメソッド(データをスタックに追加する) public int push(int youso) { // ラップしている。最後尾に追加 list.addLast(new Integer(youso)); System.out.println("追加した要素" + youso); // 現在の要素数を取得 return list.size(); } // popメソッド(データをスタックから取り出す) public int pop() { // 現在の最後尾にあるデータを取得 System.out.println("取り出した要素" + list.getLast()); // 現在の最後尾にあるデータを削除します list.removeLast(); // 現在の要素数を取得 return list.size(); } } |
[Rensyu506_03.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// パッケージの宣言 package chapter_5_6; /** * Rensyu506_03クラス */ public class Rensyu506_03 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // フィールドの定義 StackList instA; int i; // インスタンス生成 instA = new StackList(); // メソッドの呼び出し instA.push(1); instA.push(2); instA.push(3); for(i=0; i<3; i++) { // データを取り出す instA.pop(); } } } |
[表示結果]
1 2 3 4 5 6 |
追加した要素1 追加した要素2 追加した要素3 取り出した要素3 取り出した要素2 取り出した要素1 |
[Rensyu506_04.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
// パッケージの宣言 package chapter_5_6; // インポート import java.util.HashMap; import java.util.Map; import java.util.Iterator; /** * Rensyu506_04クラス(HashMapにデータを格納) */ class Rensyu506_04 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // インスタンス生成 HashMap data = new HashMap(); int[] length = { 143, 194, 213, 322, 367, 249, 268}; String[] name = {"筑後川","江の川","天竜川","利根川","信濃川","最上川","石狩川"}; // HashMapにデータを追加する for(int i=0; i<length.length; i++) { // ラップしている data.put(new Integer(length[i]),name[i]); } // キー値を指定してデータを取得する System.out.println("キー:" + 213); System.out.println("値:" + data.get(213)); System.out.println(); // イテレータを利用し全件表示する System.out.println("*全件表示*"); // ビュー取得、データにアクセスできる Iterator it = data.entrySet().iterator(); // 次のデータはありますか?問い合わせる while(it.hasNext()) { // 次のデータを取得 Map.Entry set = (Map.Entry)it.next(); System.out.println(set.getValue()+"\t"+set.getKey()+"km"); } } } |
[表示結果]
1 2 3 4 5 6 7 8 9 10 11 |
キー:213 値:天竜川 *全件表示* 江の川 194km 利根川 322km 天竜川 213km 最上川 249km 石狩川 268km 筑後川 143km 信濃川 367km |
★ポイント
- コレクションクラスクラスは処理の途中で要素数を変化させることができる。※自動的に変化する
- コレクションクラスはどんな型のオブジェクトでも格納することができる。
- コレクションクラスには様々な種類があり、それぞれに特徴があるので処理に合ったクラスを選ぶことが大切である。
- データの追加、削除より参照の方が主体…ArrayList
- データの参照より追加、削除の方が主体…LinkdList
- キー値からデータを取得したい…HashMap
javaでポイントになるものをまとめてみた newを使用したインスタンスの生成
javaでポイントになるものをまとめてみた 引数/戻り値を使用する
javaでポイントになるものをまとめてみた インスタンス変数とクラス変数
javaでポイントになるものをまとめてみた インターフェース
javaでポイントになるものをまとめてみた ポリモルフィズム
javaでポイントになるものをまとめてみた コレクションクラス