簡體   English   中英

從Java中的多個arrayLists獲取值

[英]Getting values from multiple arrayLists in java

我最近剛在學校上開始使用Java,但是我有一個問題。 嗯,這並不是一個真正的問題,因為我找到了一種解決方法(盡管很復雜)。

我應該做一名詩人。

因此,在一個for循環中,我想構建一個字符串,其中包含一些arrayLists中的單詞,所以我為此使用了StringBuilder。

事實是,我的句子應該由來自4個不同arrayLists的單詞組成(不同的單詞類)

不久前,我用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)

您可以使用數組;

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));
}

創建一個完整fullList : List<List<String>>包含您的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中編寫,也未經過測試。

您可以使用二維數組, 請參見此處

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])
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM