0

我正在尝试将 100 个(实际上更多)字符串添加到 ArrayList。我如何使用 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

根据您的评论,您正在处理自定义对象。无论您希望如何将数据从对象传输到您的ArrayList,最好使用集合。集合的类型将取决于您的对象数据的来源。由于数据是硬编码的,您可以使用数组。像这样的多个变量

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

变得

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

然后添加:

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

正如我在上面的评论中已经说过的,一个更简洁的设计是使用一个单一List<MyObject>的来包含DRYString方法中的所有对象,并根据需要提取一个。

于 2013-03-31T22:19:41.970 回答
1

好吧,您可以使用反射创建一个复杂的策略来获取给定类的所有变量并将它们添加到列表中;随后,您可以循环此列表并做任何您想做的事情。

但是,我认为它不会解决您的问题。事实上,您可能会遇到几个陷阱。

我会改变你解决问题的方法。创建一个静态列表并在那里添加您需要的任何内容(或单例,这取决于您要如何管理此列表)。一旦你有了对象列表,你就可以循环它。

干杯,

于 2013-03-31T22:43:44.020 回答