Java List/ArrayListよくある使い方
2009/01/30 13:02Update
サンプルからJavaの List/ArrayListよくある使い方について学びます。
コレクションは、「要素である複数のオブジェクトの集まり」を表すものです。Java List(リスト)は、順序付けられたコレクションです。「シーケンス」とも呼ばれます。リスト内のどこに要素が挿入されるか、インデックス (リスト内の位置) によって要素にアクセスしたり、リスト内の要素を検索したりすることができます。
java.util.Collection
∟java.util.List
∟java.util.ArrayList
∟java.util.LinkedList
∟java.util.Stack
∟java.util.Vector
本文はjava.util.ArrayListの基本的な使い方を紹介します。
次のサンプルは、ArrayListから生成されたListインスタンスのListに要素の追加、Listから要素の取得・削除などについて簡単に説明しています。
実行します。
Javaコレクション・フレームワーク概要
Iteratorパターン - イテレータ・パターン - オブジェクト指向設計
java.util.List のAPI doc
java.util.ArrayList のAPI doc
構造
java.util.Collection
∟java.util.List
∟java.util.ArrayList
∟java.util.LinkedList
∟java.util.Stack
∟java.util.Vector
本文はjava.util.ArrayListの基本的な使い方を紹介します。
次のサンプルは、ArrayListから生成されたListインスタンスのListに要素の追加、Listから要素の取得・削除などについて簡単に説明しています。
List/ArrayListサンプル
package com.test.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* Java List/ArrayListの使い方についてシンプルなサンプル
*
* 1)Listインスタンスの生成
* 2)Listに要素の追加
* 3)Listから要素の取得
* 4)Listから要素の削除
*/
public class TestArrayList {
public static void main(String []args) {
////////////////////////////////////
//1)ArrayListからListのインスタンスを生成
List list = new ArrayList(); //その他コンストラクタもあります。詳細はAPI DOCを参照
////////////////////////////////////
//2)Listに要素の追加
list.add("Hello Java List!"); //String型
list.add(new Integer(100)); //Integer型
//... その他型の値の追加もできますよ
////////////////////////////////////
//3)Listから要素の取得
//取得方法1:indexによる取得
String strValue = (String)list.get(0); //0番はStringの場合
Integer intValue = (Integer)list.get(1); //1番はIntegerの場合
System.out.println("1番目のオブジェクト値:" + strValue);
System.out.println("2番目のオブジェクト値:" + intValue);
System.out.println("************** Iterator **************");
//反復子iteratorによる取得
Iterator ite = list.iterator(); //実際のプログラム中に、null判定を忘れずに
//コレクションの反復子iterator
while(ite.hasNext()) { //ループ
Object obj = ite.next(); //該当オブジェクト取得
if (obj instanceof String) { //String型の場合
System.out.println((String)obj);
} else if (obj instanceof Integer) { //Integer型の場合
System.out.println(((Integer)obj).intValue());
}
}
System.out.println("************** for (int i=0; i<list.size(); i++)**************");
//for ループによる取得
for (int i=0; i<list.size(); i++) {
Object obj = list.get(i); //該当オブジェクト取得
if (obj instanceof String) { //String型の場合
System.out.println((String)obj);
} else if (obj instanceof Integer) { //Integer型の場合
System.out.println(((Integer)obj).intValue());
}
}
System.out.println("************** for (Object obj : list) **************");
//Java5から
for (Object obj : list) {
if (obj instanceof String) { //String型の場合
System.out.println((String)obj);
} else if (obj instanceof Integer) { //Integer型の場合
System.out.println(((Integer)obj).intValue());
}
}
//4)Listから要素の削除
list.remove(0);
}
}
実行します。
c:\javac com/test/list/TestArrayList.javac
c:\java com.test.list.TestArrayList
1番目のオブジェクト値:Hello Java List!
2番目のオブジェクト値:100
************** Iterator **************
Hello Java List!
100
************** for (int i=0; i<list.size(); i++)**************
Hello Java List!
100
************** for (Object obj : list) **************
Hello Java List!
100
c:\java com.test.list.TestArrayList
1番目のオブジェクト値:Hello Java List!
2番目のオブジェクト値:100
************** Iterator **************
Hello Java List!
100
************** for (int i=0; i<list.size(); i++)**************
Hello Java List!
100
************** for (Object obj : list) **************
Hello Java List!
100
参考資料
Javaコレクション・フレームワーク概要
Iteratorパターン - イテレータ・パターン - オブジェクト指向設計
java.util.List のAPI doc
java.util.ArrayList のAPI doc
Sponsored Link
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)