要素を操作するには?
ArrayListは、単にオブジェクトを入れて出すだけのものではありません。保管しているオブジェクトから特定のものを取り出したり、あるいは要素を削除したりすることもできます。主なメソッドについてざっと紹介しておきましょう。
・オブジェクトを追加する
[ArrayList].add( オブジェクト );
[ArrayList].add( 番号, オブジェクト );
オブジェクトをArrayListに追加します。単にオブジェクトだけを引数に指定すると、一番最後に追加されます。番号を指定すると、そのインデックス番号の位置にオブジェクトが追加されます。
・指定したインデックス番号のオブジェクトを取り出す
[ArrayList].get( 番号 );
インデックス番号を指定してオブジェクトを取り出します。インデックス番号は、addした順にゼロから割り振られていく番号です。get(0)とすれば、一番最初にaddした項目が得られます。
・指定したオブジェクトのインデックス番号を得る
[ArrayList].indexOf( オブジェクト );
getの逆(?)です。ArrayListに保管しているオブジェクトを引数に指定すると、それが何番目にあるかをint値で返します。
・オブジェクトを取り除く
[ArrayList].remove( 番号 );
[ArrayList].remove( オブジェクト );
引数に指定した番号、あるいはオブジェクトをArrayListから取り除きます。(これは、ArrayListから取り除くだけで、オブジェクトそのものが消されるわけではありません)
・要素数を得る
[ArrayList].size( );
ArrayListにいくつのオブジェクトが保管されているかをint値で返します。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add(0,"Hello");
list.add(0,"Welcome");
list.add(0,"to");
list.add(0,"Java");
for(int i = 0;i < list.size();i++){
System.out.println(list.get(i));
}
}
項目を一番前に追加していき、順に取り出していく。入れた順とは逆に表示されるのがわかる。 |
これらのメソッドを利用した簡単なサンプルをあげておきましょう。まず、addではインデックス番号0を指定し、オブジェクトをすべて一番前に追加しています。そして、forでゼロからlist.size未満を繰り返し、getで取り出して表示をしていきます。addを常に一番前に追加しているため、addした順とは逆の順に取り出されていくことがわかるでしょう。
とりあえずここではArrayListについて説明をしましたが、この基本がわかれば、コレクションの役割もだいぶわかってきます。ArrayListを使いこなせるようになったら、それ以外のコレクション・クラスも調べてみると面白いでしょう。