- PR -

配列→ArrayList()

1
投稿者投稿内容
みーちく
大ベテラン
会議室デビュー日: 2002/08/29
投稿数: 131
投稿日時: 2003-04-02 15:42
こんにちわ。みーちくと申します。

久しぶりの書込みです。
皆様ご教授願います。

配列をArrayListに変換したいのですが、うまい方法等ありますでしょうか。
私は毎回、下記のようなコードを書いております。
宜しくお願い致します。

コード:
String str[] 	= {"a","b","c","d","e","f","g","h"};
ArrayList list 	= new ArrayList();

for(int i=0; i<str.length; i++){
	list.add(i,str[i]);
}

一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-04-02 16:05
String[] str = {"a","b","c","d","e","f","g","h"};
ArrayList list = new ArrayList();
list.AddRange(str);

AddRangeでどうでしょう。

後、
String str[] = {"a","b","c","d","e","f","g","h"};
これコンパイル通ります?
みーちく
大ベテラン
会議室デビュー日: 2002/08/29
投稿数: 131
投稿日時: 2003-04-02 16:19
みーちくです。

一郎様
返信ありがとうございました。

>String str[] = {"a","b","c","d","e","f","g","h"};
コンパイル通りますよ。

>list.AddRange(str);
これを実行した場合、下記のようなエラーとなりました。
Javaのバージョンは1.4.1です。

シンボル: メソッド AddRange (java.lang.String[])
場所 : java.util.ArrayList の クラス
list.AddRange(str);
^
エラー 1 個
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-04-02 16:25
みーちくさん、ごめんなさい。
勘違いしてました、C#のつもりで返信しました。

Javaは分かりません。
はずかし〜ですけど、書き込みはそのまま残しておきます。
aodag
会議室デビュー日: 2003/04/02
投稿数: 1
投稿日時: 2003-04-02 16:53
Arrays.asList(str)
stoc
会議室デビュー日: 2003/03/27
投稿数: 11
投稿日時: 2003-04-02 16:58
みーちくさん、はじめまして

こんなかんじではどうでしょうか?
配列<->コレクションが以下のメソッドで出来るようです。
Arrays.asList()
Collection.toArray()
コード:
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Iterator;

public class Test {
    public static void main(String [] args) {
        String [] str = { "a","b","c","d","e","f","g","h"};
        ArrayList al = new ArrayList(Arrays.asList(str));

        Iterator it = al.iterator();
        while (it.hasNext()) {
            System.out.println((String)it.next());
        }
    }
}

へげもん
ベテラン
会議室デビュー日: 2002/04/14
投稿数: 87
お住まい・勤務地: 埼玉県
投稿日時: 2003-04-02 17:01
Javaならこうです。
コード:
String str[] 	= {"a","b","c","d","e","f","g","h"};
ArrayList list 	= new ArrayList(Arrays.asList(str));



ArrayListでなく、Listでよいなら、もっと簡単です。
コード:
String str[] 	= {"a","b","c","d","e","f","g","h"};
List list 	= Arrays.asList(str);



ほとんどの場合、使いたい機能を満たした最も抽象度の高いクラスやインターフェイスを使った方が、再利用性や仕様変更に対する耐性が高まるので、良い設計となります。
みーちく
大ベテラン
会議室デビュー日: 2002/08/29
投稿数: 131
投稿日時: 2003-04-02 18:21
みーちくです。

皆様、返信ありがとうございます。

>ArrayList list = new ArrayList(Arrays.asList(str));
asListですね。
早速使わせていただきます。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)