从现有的 ArrayList 创建 ArrayList
Create ArrayList from Existing ArrayList
我有一个如下所示的 ArrayList:
ArrayList<String> item;
item [0] --> boom
项目 [1] --> pow
item [2] --> bang
项目[3] --> zing
现在我要做的是获取每个项目并使用该项目的名称创建一个空的字符串 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
。所以一个变量名可以被认为是一个key
来访问存储在计算机内存中的value
。标准数据结构 Map
具有类似的 key
值结构。所以我们可以在这里使用 Map
- "boom" 作为键,new ArrayList<String>()
作为 value.
假设您拥有 nameList
-
中的所有名称(即 boom、pow、bang)
ArrayList nameList = new ArrayList(){{
add("boom");
add("pow");
add("bang");
}};
现在您想用 nameList
中给定的名称创建 3 ArrayList
个 Stirng
。所以你把它们放在 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>();
*/
}
我有一个如下所示的 ArrayList:
ArrayList<String> item;
item [0] --> boom
项目 [1] --> pow
item [2] --> bang
项目[3] --> zing
现在我要做的是获取每个项目并使用该项目的名称创建一个空的字符串 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
。所以一个变量名可以被认为是一个key
来访问存储在计算机内存中的value
。标准数据结构 Map
具有类似的 key
值结构。所以我们可以在这里使用 Map
- "boom" 作为键,new ArrayList<String>()
作为 value.
假设您拥有 nameList
-
ArrayList nameList = new ArrayList(){{
add("boom");
add("pow");
add("bang");
}};
现在您想用 nameList
中给定的名称创建 3 ArrayList
个 Stirng
。所以你把它们放在 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>();
*/
}