重复向ArrayList添加数据

时间:2013-03-31 21:58:45

标签: java string arraylist

我正在尝试将100个(实际上更多)字符串添加到ArrayList。不是单独添加每个String,而是如何使用类似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
}

任何人都可以确定如何将每个字符串添加到列表中吗?

非常感谢

2 个答案:

答案 0 :(得分: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方法中的所有对象,并根据需要提取String。 / p>

答案 1 :(得分:1)

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

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

我会改变你对问题的处理方法。创建一个静态列表并添加您需要的任何内容(或者单例,它取决于您希望如何管理此列表)。获得对象列表后,就可以循环它。

干杯,