Cazperのつれづれ日記: 【Java】ArrayListに配列を格納して扱う方法

« CCTV(中央電視台)で中国語の耳慣らし~ | メイン | 生在蘇州、衣在杭州、食在広州、死在柳州 »

2008年9月 8日

panda01.gif 【Java】ArrayListに配列を格納して扱う方法

JavaのArrayListに配列を格納して、格納された配列をArrayListから呼び出して使う方法をご紹介します。

「可変長配列×可変長配列」を作成したい場合にはArrayListを使って多次元配列を作成すれば良いのかもしれませんが、「可変長配列×固定長配列」でこの手の手法を用いるのは冗長すぎる気もするわけです。

「可変長配列×固定長配列」の場合には、可変長配列部にArrayListを使い、固定長配列には従来型の1次元配列を使えば良いわけです。というわけで、以下に ArrayListに配列を格納して扱う方法を簡単に示したサンプルプログラムを紹介しておきます。

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package arraylisttest;

import java.util.ArrayList;

/**
*
* @author kabe
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

ArrayList array = new ArrayList();

String[] string2Array = { "Sunday", "Monday", "Tuesday" };

//array.add(string2Array)ではなく、クローンを渡すこと。
//そうしないと、string2Arrayが参照渡しになり、
//後にstring2Array[0] = "Cat"としてしまうと、
//SundayがCatに上書きされてしまう。
array.add(string2Array.clone());

string2Array[0] = "Cat";
string2Array[1] = "Dog";
string2Array[2] = "Pig";

array.add(string2Array.clone());

//ArrayListの0番要素に格納した配列の1番要素を抜きます。
String kotoba = array.get(0)[1]; //"Monday"が抜かれます。
System.out.println(kotoba); //Dogが表示されます。

//ArrayListの1番要素に格納した配列の0番要素を抜きます。
kotoba = array.get(1)[0]; //"Cat"が抜かれます。
System.out.println(kotoba); //Dogが表示されます。

//ArrayListの1番要素を抜き出し、その2番要素を抜き出します。
String words[] = array.get(1); //"Cat,Dog,Pig"が抜かれます。
System.out.println(words[2]); //Pigが表示されます。

}

}

P.S.
VBの方はこちら

投稿者 cazper : 2008年9月 8日 18:59 | b_entry.gif
     

トラックバック

このエントリーのトラックバックURL:
http://www.cazoo.jp/cgi/mt/mt-tb.cgi/2270

コメント