• 締切済み

JAVA 配列のリストの作り方

ArrayList<String[]> stl = new ArrayList<String[]>(); このように、配列をリスト構造で作ることはできませんか?

  • Java
  • 回答数2
  • ありがとう数0

みんなの回答

  • yossy_kt
  • ベストアンサー率50% (103/203)
回答No.2

はい、可能ですよ。 質問内容で書かれているコードで正常に動作すると思います。 何をされたいのかはわかりませんが、配列の代わりにリストを使うのではなくて、配列のリストを作りたいということでよいですか? ちなみに、配列の代わりにリストを使いたいということであれば、下記の通りですから念のため。 List<String> stl = new ArrayList<String>();

回答No.1

なんでやってみないの? 試してみれば一発でわかることでしょ。

関連するQ&A

  • Generic.Listに1次元配列の配列を格納したい(VB2005)

    VB2005の質問です。 変数ghogeにString型の1次元配列の配列を格納したいと考えています。 ----------------------------------------------- 'a) Dim hoge()() As string = _       {New string() {"a1", "b1", "c1"}, _       New string() {"a2", "b2", "c2"}, _       New string() {"a3", "b3", "c3"}} Dim ghoge As New Generic.List(of )   'b) MessageBox.Show(ghoge(1)(1))      ' "b2"と表示したい ----------------------------------------------- 質問内容は、(a)を(b)の初期値として設定するにはどのようにすればよいか、ということです。 (b)がGeneric.ListでなくArrayListの場合だと、   Dim ghoge As New ArrayList(hoge) でhoge配列を格納できますが、Generic.Listの場合はどのような構文にすればよいでしょうか。 現在は、下記のような処理でghogeに値を格納しています。 ------------------------------------------------------------ Dim ghoge As New Generic.List(Of Generic.List(Of String)) Dim aryhoge1 As New Generic.List(Of String)(New String() {"a1", "b1", "c1"}) Dim aryhoge2 As New Generic.List(Of String)(New String() {"a2", "b2", "c2"}) gary_hoge.Add(ary_hoge1) gary_hoge.Add(ary_hoge2) MessageBox.Show(gary_hoge(1)(1))    ' "b2"と表示される ------------------------------------------------------------ どうぞよろしくお願い致します。

  • C#の配列リストを機械的に複数作りたいです。非常に初歩的な質問で恐縮な

    C#の配列リストを機械的に複数作りたいです。非常に初歩的な質問で恐縮なのですが、 C#で、配列リストを機械的に複数個作ることはできないでしょうか。 具体的には、myArrayListという配列リストを100個作るとして、 System.Collections.ArrayList myArrayList1 = new System.Collections.ArrayList(); System.Collections.ArrayList myArrayList2 = new System.Collections.ArrayList(); System.Collections.ArrayList myArrayList3 = new System.Collections.ArrayList(); System.Collections.ArrayList myArrayList4 = new System.Collections.ArrayList(); System.Collections.ArrayList myArrayList5 = new System.Collections.ArrayList(); ・・・ System.Collections.ArrayList myArrayList100 = new System.Collections.ArrayList(); をループなどを使うことによって書きたいのですが。 詳しい方がいらっしゃいましたら、アドバイス願います。 同じ内容の質問を先ほど投稿してしまったのですが、タイトルが不適切だったため 直させていただきました。すいませんでした。

  • javaでリストにオブジェクトを入れたい

    ユーザー情報を配列にしたものをセッターを使い、オブジェクトをリストに入れる処理をしたいです。 例(yamada,pas1,山田) リストを使用しているのは後々他のユーザーを追加する予定の為です。 例(yamada,pas1,山田) (suzuki,pas2,鈴木) リストにlist.add("yamada")などと入力すれば表示させることが出来るのですが、 オブジェクトを入れるとうまくいきません。list.add(オブジェクト名); 実行するとコンソールに「GetUser@19e0bfd」のようなものが出てきます。どうすればよろしいでしょうか? ここから上は省略。カプセル化したゲッターセッターの処理をしています。 public static void main(String[] args){   GetUser gu = new GetUser();//ユーザー情報をnew      String name[]=new String[3];   name[0]="yamada";   name[1]="pas1";   name[2]="山田";   gu.setId(name[0]);   gu.setPass(name[1]);   gu.setName(name[2]);   List list = new ArrayList();   list.add(gu); }

    • ベストアンサー
    • Java
  • JAVAでの、clone() 参照渡し?について

    ArrayListで文字列の配列(String[ ])の配列を作りました。 そして、listにaddするときに *・・・ list.add(item)だと上手くいきません。      繰り返して異なる値のはずなのですが、      例えば、listget(0)[0] , list.get(1)[0] , list.get(2)[0]が全て同じ値になってしまいます。     しかし、     list.add(item.clone())だと上手くいきます、よくわかりませんが参照渡しというのでしょうか? 前者で何故上手くいかないのかがわからないのです。 この二つの違いは何なのでしょうか。 【プログラム】 ArrayList<String[]> list = new ArrayList<String[]>(); String[] item = new String[6]; //このwhileは数回繰り返されますが、下記の値は毎度異なります。 while(rs.next()) { item[0] = rs.getString("Field"); item[1] = rs.getString("Type"); item[2] = rs.getString("Null"); item[3] = rs.getString("Key"); item[4] = rs.getString("Default"); item[5] = rs.getString("Extra"); list.add(item); ・・・・・・・・・・・・・・・・・・・・*       }

    • ベストアンサー
    • Java
  • C# 配列の配列(多次元配列?)

    C#において、配列の配列中に格納した値を、検索することを 行いたいのですが、格納した値そのものを見ることができません。 まだ、C#を始めて間もないので、配列に格納する時点で、 不備があるかも知れませんが、お願いします。 やりたいこと ・テキストファイル内にある値を、2次元配列または、多次元配列に格納 ・配列に格納した値で、データチェックなどを行う予定  テキストファイル内のデータは、下記内容となり要素数も固定ではなく変動する   A=1,2,3・・・   B=11,22,33・・・ 実際のソースは、 //配列 ArrayList list = new ArrayList(); //配列格納 1レコード毎用 ArrayList listtmp = new ArrayList(); while ((strGenderTextLine = objReader.ReadLine()) != null) {  string strBuffer;  //「=」前の値格納用変数  string[] strBuffer2; //「=」後の値格納用配列  listtmp=null;  //strtmpに「=」前の値を格納  strtmp = TextLine.Split('=').GetValue(0).ToString();  //strtmp2に「=」後の値を格納(配列)  strtmp2 = TextLine.Split('=').GetValue(1).ToString().Split(',');  for (int i = 0; i <= strtmp2.Length - 1; i ++)  {   //[i,0]に、「=」前の値を代入   if (i == 0)   {   listtmp.Add(strtmp);   }   else   {   listtmp.Add(strtmp2[i].ToString());   }  }  //list配列にlistTmp配列を格納(配列の配列)  list.Add(listtmp);  intT = intT + strtmp2.Length;  //行数カウント  intTLine = intTLine + 1;  } ここから、配列「list」内に入っている値を閲覧することができる方法を教えていただければと思います。 宜しくお願いいたします。

  • 配列の宣言の仕方

    vs2005を使用しています。 配列の宣言の方法はいくつかあるようですが 違いが分かりません。 Dim strDate() As String = New String(1) {} Dim strDate() As String = New String(1) {"",""} Dim strDate As String() = {"", ""} Dim strDate (1) As String Dim strDate As New ArrayList も候補のひとつですが、この違いは分かります。 やりたいことは、要素数2の配列を""で初期化したいというものです。 そしてその配列を返す関数を作成しています。 どれも同じように思うのですが、違いがあれば教えていただきたいと思います。 よろしくお願いします。 でもかまわないのですが、

  • ArrayList で配列を扱う場合の記述方法について

    ArrayList で配列を扱う場合の記述方法について、 探しきれないのでご教授お願いします。 ArrayList list = new ArrayList(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (int i = 0; i < list.size(); i++) { System.out.println(i+"は"+list.get(i)); } という箇所をArrayList<Date>listを使って書き直すのはどのようになるでしょうか。 ArrayList<Date>list= new ArrayList<Date>(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (int i = 0; i < list.size(); i++) { System.out.println(i+"は"+list.get(i)); } とすると、 型 ArrayList<Date> のメソッド add(Date) は引数 (String) に適用できません。 というエラーになってしまいました。

    • ベストアンサー
    • Java
  • ファイルから多次元配列への読み込み

    はじめまして。 ここ最近、業務の都合でjava(正確には主にJSP)を描いています。 プログラムの作成は、シェルスクリプトを少し書く程度でまったく無いに等しい状態のなか、悪戦苦闘しております。 今回は、表題にもありますとおり、カンマ区切りファイルから多次元(2次元)配列に値を入れた意のですが、なかなか上手くいかないので、皆様のお知恵を拝借できればと思い、質問いたしまた。 私が書いたコードは、 String tmp; FileReader fr = new FileReader(application.getRealPath("./a.list")); BufferedReader br = new BufferedReader(fr); //1.リストの行数を取る ArrayList list = new ArrayList(); while (br.ready()) { tmp = br.readLine(); list.add(tmp); } int i = list.size(); //2.リストから読み込んだ値を取り合えず配列に入れてみる。 String strHex [][] = new String [i][3]; String strs2 [] = new String [i]; for ( int jj = 0; jj < i; jj++){ strs2[jj] = (String)list.get(jj); StringTokenizer st2 = new StringTokenizer(strs2[jj],","); int xyz = 0; while (st2.hasMoreTokens()) { strHex [jj][xyz] = (String)st2.nextToken(); xyz++; } } とやってみたのですが、xyzが配列の範囲を超えてアクセスしているという配列使用時はお決まりといわれるエラーが出てしまいます。 xyzは0で初期化した上で、トークンの数だけしか処理を行わないはずなので、わけがわからず途方にくれています。 なお、リストファイルの形式は、4列で行数は不定です。 例) 1,2,3b,4c 5,6,7d,8d 11,12,13,14 ・ ・ 見ないな感じです。 以上、お分かりになる方がいらっしゃいましたら、ヒントだけでもよろしくお願いいたします。

  • DB接続 二次元配列 指定表示

    DB接続でデータを取得したいとおもっています 今DBで3×10のデータがはいっており、... DB接続でデータを取得したいとおもっています 今DBで3×10のデータがはいっており、取得、二次元配列に返してあげている状態です この例だと3列(TESTNO、KANA、NAME)だと取得できるのですが TESTNO,KANA の二列取得をしたときにエラーが発生してしまいます どのように改善すればエラーが発生せず、取得できるようになりますか? それともこのロジック自体がまずいのでしょうか? アドバイスお願いします ソース一部 public String[][] selectExec(String sql) throws SQLException{ Statement smt = con.createStatement(); //ステートメントオブジェクト作成 SQL文を送るために作成 ResultSet aa=smt.executeQuery(sql); //SQLから要素取得 ArrayList<String> TESTNO = new ArrayList<String>(); //TESTNO用ののArrayList作成 ArrayList<String> NAME = new ArrayList<String>(); //KAME用 ArrayList<String> KANA = new ArrayList<String>(); //KANA用 while(aa.next()){ //Resultsetが最終行になるまで実行 TESTNO.add(aa.getString("TESTNO")); NAME.add(aa.getString("NAME")); KANA.add(aa.getString("KANA")); } aa.close(); //使い終わったリザルトクローズ smt.close(); //ステートメントクローズ //オブジェクトの解放 return hairetu(TESTNO,NAME,KANA); } public String[][] hairetu(ArrayList T,ArrayList N ,ArrayList K){ String[][]all=new String[3][T.size()]; all[0] = (String[])T.toArray(new String[0]);//配列TSETNOに収納 all[1] = (String[])N.toArray(new String[0]);//配列NAMEに収納 all[2] = (String[])K.toArray(new String[0]);//配列KANAに収納 return all; よろしくお願いします

    • ベストアンサー
    • Java
  • java 配列について

    public class Sample{ public static void main( String[ ] args ){ String x = "pen"; String[] y = new String[1]; y[0] = x; x = "pencil"; System.out.println(y[0]); } } java初心者です。 配列の参照先を変更して 配列の数を変更せず配列0に 実行時にpencilと表示させたいのですが よい方法はありますでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう