コレクションは配列の様に要素を一つのグループにまとめた集合体(オブジェクト)のことです。
と書いても良く分からないと思うので、今のところは高機能な配列だと思って下さい。
Java のコレクションには様々な種類があるのですが、今回はリストとマップの使い方を学びます。
このページでまずリストについて実際にソースを見ながら説明します。
なおリストにも色々種類があるのですが、今回は最も単純な ArrayList を使います。
まずリストの定義方法について説明します。
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
// リスト定義
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
ArrayList<Double> list3 = new ArrayList<Double>();
}
}
ソース 1 の 1 行目の import 文でリスト(ArrayList)を使うことを宣言しています。
6 行目では list1 という名前の String 型のリストを定義しています。
7 行目では list2 という名前の Integer 型のリストを定義しています。
8 行目では list3 という名前の Double 型のリストを定義しています。
ここで 7、8行目で出てきた Integer 型と Double 型はそれぞれ int 型と double 型のラッパークラスです。
リストやマップはプリミティブ型でなくてラッパークラスを指定する必要があります。
なお配列と違ってリストの場合は事前に要素数を指定する必要はありません。
さて、定義したリストに要素を追加する場合は
リストの名前.add( 要素の値 )
と書きます。
また全ての要素を表示する場合は println を使います。
それでは例を見てみましょう。
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
// リスト定義
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
ArrayList<Double> list3 = new ArrayList<Double>();
// 各リストに要素を追加
list1.add( "hoge" );
list1.add( "fuga" );
list1.add( "piyo" );
list2.add( 12 );
list2.add( 34 );
list2.add( 56 );
list3.add( 1.2 );
list3.add( 3.4 );
list3.add( 5.6 );
// リストの中身を全て表示
System.out.println( list1 );
System.out.println( list2 );
System.out.println( list3 );
}
}
[hoge, fuga, piyo] [12, 34, 56] [1.2, 3.4, 5.6]
リスト内の指定した位置の要素を取り出す場合は
リストの名前.get( リスト内の位置 )
と書きます。
では例を見てみましょう。
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
// リスト定義
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
ArrayList<Double> list3 = new ArrayList<Double>();
// 一番後に要素を追加
list1.add( "hoge" );
list1.add( "fuga" );
list1.add( "piyo" );
list2.add( 12 );
list2.add( 34 );
list2.add( 56 );
list3.add( 1.2 );
list3.add( 3.4 );
list3.add( 5.6 );
// リスト内の指定した位置の要素を取り出す
String a = list1.get(0);
int b = list2.get(1);
double c = list3.get(2);
System.out.println( a );
System.out.println( b );
System.out.println( c );
}
}
hoge 34 5.6
リストの長さを取得する場合は
リストの名前.size()
リストをクリアしたい場合は
リストの名前.clear()
と書きます。
では例を見てみましょう。
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
// リスト定義
ArrayList<String> list = new ArrayList<String>();
// 一番後に要素を追加
list.add( "hoge" );
list.add( "fuga" );
list.add( "piyo" );
// リストの長さの取得
System.out.println( list.size() );
// リストの中身を全て表示
System.out.println( list );
// リストのクリア
list.clear();
// もう一度リストの長さの取得
System.out.println( list.size() );
// もう一度リストの中身を全て表示
System.out.println( list );
}
}
3 [hoge, fuga, piyo] 0 []
基本的なリストの使い方は以上ですが、他にも便利な機能がいくつかリストには備わっています。
その他の機能の使い方についてはまとめて例の中で説明したいと思います。
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
// リスト定義
ArrayList<String> list = new ArrayList<String>();
// 一番後に要素を追加
list.add( "hoge" );
list.add( "fuga" );
list.add( "piyo" );
// 指定した要素の位置の取得
// リストの名前.indexOf( 値 );
System.out.println( list.indexOf( "fuga" ) );
// 指定した位置に要素を挿入
// リストの名前.add( 位置、 値 )
list.add( 1, "foo" );
System.out.println( list );
// 指定した位置の要素の置き換え
// リストの名前.set( 位置、 新しい値 )
list.set( 2, "ふが");
System.out.println( list );
// 指定した位置の要素を削除
// リストの名前.remove( 位置 )
list.remove(1);
System.out.println( list );
// 指定した要素を削除
// リストの名前.remove( 値 )
list.remove( "ふが" );
System.out.println( list );
}
}
1 [hoge, foo, fuga, piyo] [hoge, foo, ふが, piyo] [hoge, ふが, piyo] [hoge, piyo]