从java中的多个arrayLists获取值

时间:2014-09-25 13:49:22

标签: java actionscript-3 arraylist

我刚刚在我的学校开始使用java,我有一点问题。那不是一个真正的问题,因为我找到了一种方法来解决它(虽然很复杂)。

我应该做一个诗人。

所以,在for循环中,我想构建一个字符串,这些字符串位于某些arrayLists中,所以我使用StringBuilder。

问题是,我的句子应该包含来自4个不同数组列表的单词,(不同的单词类)

而且,不久之前,我在actionscript3中进行了编程,并且我可以真正使用这个问题,这会使代码变得如此简单。使用此[]

如此。我有4个列表:list0,list1,list2,list3

在我的循环中,我会在AS3中执行类似下面的操作(flash,actionscript3)

for(int i = 0; i<4; i++){
    poem.append(This["list" + i].get(randomindex))
}

所以第一次循环,我从list0得到一个随机字,第二次,我从list1得到一个随机字,依此类推...... 在java中有什么方法可以做到这一点吗? x)的

3 个答案:

答案 0 :(得分:3)

您可以使用数组;

List<String> list1 = Arrays.asList("String1", "String2");
List<String> list2 = Arrays.asList("String3", "String4");
List<String> list3 = Arrays.asList("String5", "String6");
List<String> list3 = Arrays.asList("String7", "String8");
List<String>[] lists = new List[]{ list1, list2, list3, list4};

然后用

替换你的代码
for(int i = 0; i<4; i++){
    poem.append(lists[i].get(randomindex));
}

答案 1 :(得分:1)

fullList : List<List<String>>包含您的list0-3

Random r = new Random();
StringBuildr poem = new StringBuilder();
for (List<String> list : fullList)
    poem.append(list.get(r.nextInt(list.size())));

poem.toString(); //this is your poem

代码不是在IDE中编写的,也未经过测试。

答案 2 :(得分:0)

您可以使用二维数组see here

list[0] = {"firstWordA","firstWordB"};
list[1] = {"secondWordA","secondWordB"};
list[2] = {"thirdWordA","thirdWordB"};
list[3] = {"fourthWordA","fourthWordB"};

for(int i = 0; i<4; i++){
    poem.append(list[i][randomindex])
}