0

ArrayList に 100 個 (現実的にはそれ以上) の文字列を追加しようとしています。各文字列を個別に追加する代わりに、for ループのようなものを使用して一度に追加するにはどうすればよいでしょうか。以下のコードは一例です。

ArrayList<String> strings = new ArrayList();

String s1 = "Apple";
String s2 = "Banana";
String s3 = "Pear"

/*
    More Strings created until the 100th String
    .
    .
    .

*/

String s100 = "Kiwi";

//for loop to try add each String to List
for(int i=0; i<100; i++)
{
    //Code to add each String to the arraylist
}

各文字列をリストに追加する方法を誰でも特定できますか?

ありがとうございました

4

2 に答える 2

1

リフレクションを使用して、特定のクラスのすべての変数をフェッチし、リストに追加する洗練された戦略を作成できます。その後、このリストをループして、好きなことをすることができます。

ただし、それで問題が解決するとは思いません。実際、いくつかの落とし穴に遭遇する可能性があります。

問題へのアプローチを変更します。静的リストを作成し、そこに必要なものを追加します (またはシングルトン、このリストをどのように管理するかによって異なります)。オブジェクトのリストを取得したら、それをループできます。

乾杯、

于 2013-03-31T22:43:44.020 に答える
1

あなたのコメントから、カスタムオブジェクトを扱っています。オブジェクトから にデータを転送する方法に関係なくArrayList、コレクションを使用することをお勧めします。コレクションのタイプは、オブジェクト データのソースによって異なります。データはハードコーディングされているため、配列を使用できます。このような複数の変数

String s1 = "Apple";
String s2 = "Banana";
String s3 = "Pear"

なる

String[] fruitArray = {
   "Apple",
   "Banana",
   "Pear"
   ...
};

次に追加します。

for (String fruit: fruitArray) {
   strings.add(fruit);
}

上記の私のコメントで既に述べたように、よりクリーンな設計は、シングルを使用しList<MyObject>てすべてのオブジェクトをDRYアプローチに含め、必要に応じて a を抽出するStringことです。

于 2013-03-31T22:19:41.970 に答える