質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

2回答

1714閲覧

連番のArrayListをループ処理で作成したい。

Nanamelon

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

0クリップ

投稿2020/07/01 06:14

一度に10個のArrayListを連番で作成したいのですが、
一つ一つ宣言していくのを面倒に感じたため、ループで処理できないかと思い質問させて頂きました。
よろしくお願いします。

行いたいこと

これをループ処理で実装したいです。

Java

1ArrayList<Integer> a0 =new ArrayList<Integer>(); 2ArrayList<Integer> a1 =new ArrayList<Integer>(); 3ArrayList<Integer> a2 =new ArrayList<Integer>(); 4//...略 5ArrayList<Integer> a9 =new ArrayList<Integer>(); 6

試したこと

調べても配列の中を弄るようなループしか出て来なかったため、
パッと思いついた的外れな方法しか試せていません。すみません。
この方法では生み出せませんでした...。

Java

1for(int i =0;i<10;i++){ 2 ArrayList<Integer> ai =new ArrayList<Integer>(); 3}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Javaでは基本的に変数名に変数をつかうようなことはできません。
やる方法はあるにはあるようですが、別途ライブラリを使う必要があったはずです。
配列を複数使うのであれば、連想配列や多次元配列(今回の場合2次元)を使うのがいいのではないでしょうか。
動的配列の中に動的配列を突っ込んでも、ループ処理でLength分回せば中身を取り出せますし、
取り出す配列が決まっているのであれば、直接添え字を指定して中身を取り出せばいいかと思います。

質問者さんの配列名が似た名前のものなので、勝手に似た役割を持っていると考えて上述の提案をしましたが、
それぞれの配列で役割が明確に違うのであれば、マジックナンバーやコードの難読化を防ぐために、
明確に配列名を振る方がメンテナンス性はよいかと思います。

投稿2020/07/01 06:26

mikan_s4n

総合スコア377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nanamelon

2020/07/01 06:42

ご回答ありがとうございます! 「ランダム生成した1~100の数字を1の位の数字で分類して、各配列に格納し最後に表示しろ」という問題の中の作業であったため連番にしましたが、確かに多次元配列にまとめてしまうのもコンパクトで良いですね。 「Javaでは基本的に変数名に変数をつかうようなことはできません。」というのも知らなかったので勉強になりました。ありがとうございました。 ただ、(個人的な興味で)別途ライブラリを用いた実装の仕方も気にはなるので、 もしご存知であればライブラリ名だけでも後学のために教えて頂けると助かります。
Nanamelon

2020/07/01 07:13

ありがとうございます。助かります。
guest

0

ArrayList<ArrayList<Integer>> a;

として、forループでAddしていくというテで。

a[0]、a[1]、a[2]、...
で、どうでしょう

投稿2020/07/01 06:32

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nanamelon

2020/07/01 06:58

ご回答ありがとうございます! Java初心者なのでArrayListの2次元配列の宣言の仕方を初めて知りました。 リストの中にリストが入り込んでいるの面白いですね。 2次元配列を使用する方法はかなり便利そうなので試してみたいと思います。 一人だったら宣言の仕方で詰まった気がするので教えて頂けて助かりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問