簡體   English   中英

從現有的ArrayList創建ArrayList

[英]Create ArrayList from Existing ArrayList

我有一個看起來像這樣的ArrayList:

ArrayList<String> item;

項目[0]->動臂

項目[1]->戰俘

項目[2]->砰

項目[3]->贊

現在,我想做的是獲取每個項目,並使用該項目的名稱創建一個空的ArrayList字符串。 例如,結果將是

ArrayList<String> boom; 

ArrayList<String> pow; 

ArrayList<String> bang;

ArrayList<String> zing;

抱歉,這是一個簡單的答案,但我仍在學習。

如果我理解您的問題,則可以使用Map<String, ArrayList<String>> map ,檢查標題是否已經存在(並且是否沒有創建新的ArrayList<> )。 就像是,

Map<String, List<String>> headings = new HashMap<>();
// perform processing in a loop, for each heading...
String heading = "Example";
String content = "Body";
// ...
if (!headings.containsKey(heading)) {
    headings.put(heading, new ArrayList<>());
}
List<String> bodies = headings.get(heading);
bodies.add(content);
// .. iterate heading

或者您可能會預先填充headings地圖,例如

List<String> nameList = Arrays.asList("boom", "pow", "bang");
Map<String, List<String>> headings = new HashMap<>();
for (String name : nameList) {
    headings.put(name, new ArrayList<>());
}
// ... 

在編程語言中,變量名用於引用計算機內存中的存儲value 因此,可以將變量名視為訪問存儲在計算機內存中的valuekey 標准數據結構Map具有相似的key結構。 因此,我們可以在此處使用Map “ boom”用作鍵,將new ArrayList<String>()作為value.

假設您在nameList擁有所有名稱(即,boom,pow,bang)-

ArrayList nameList = new ArrayList(){{
    add("boom");
    add("pow");
    add("bang");
}};  

現在,您要通過nameList給定的名稱創建3個Stirng ArrayList 因此,您將它們像這樣放入Map<String, List<String> -

Map<String, List<String> > vars  = new HashMap<String, List<String>>();

for(int i=0; i<nameList.size(); i++){

   String key = nameList.get(i);
   List<String> value = new ArrayList<String>();
   vars.put(key, value);
}   

完整的鱈魚可以是-

import java.util.*;

public class ArrayListFromNameList {

    public static void main(String[] args){

        List<String> nameList = new ArrayList<String>(){{
            add("boom");
            add("pow");
            add("bang");
        }};  

        Map<String, List<String> > vars  = new HashMap<String, List<String>>();

        for(int i=0; i<nameList.size(); i++){

           String key = nameList.get(i);
           List<String> value = new ArrayList<String>();
           vars.put(key, value);
        } 

    }

  /* Use the Map vars like this -
  * vars.get("boom") --> will reuturns you an ArrayList<String>();
  * similarly vars.get("pow") --> will returns you an ArrayList<String>();
  */
}

暫無
暫無

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

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